Messages in this thread | | | Date | Tue, 18 Oct 2005 13:28:20 +0900 | From | Yasunori Goto <> | Subject | Re: [discuss] Re: x86_64: 2.6.14-rc4 swiotlb broken |
| |
> > So, just "use NODE(0)" is not enough hack for our machine. > > If "use NODE(0)" is selected, kernel must sort pgdat link and > > node id by memory address. I think that hot add code will be a > > bit messy instead. > > Yasunori-san, > Does this patch work on your boxes instead? (For 2.6.14) > http://marc.theaimsgroup.com/?l=linux-kernel&m=112959469914681&w=2
Not yet. But could you change this line at least?
+ + for_each_node(node) { + io_tlb_start = alloc_bootmem_node(NODE_DATA(node), iotlbsz);
for_each_node() loop walks around node_possible_map which includes "offlined" node. Please use for_each_online_node() instead. Then, I'll check it. :-)
And I understand why my patch doesn't work on your box by your patch. (Thanks!) x86-64's DMA zone is smaller area than 16MB. But swiotlb requires the area which is smaller than 4GB. There is no interface to describe its difference.
I think your patch looks reasonable for 2.6.14 to be produced ASAP. This is less impact than mine.
However, kernel should have new interface like alloc_bootmmem_low32(). This problem will occur not only by swiotlb.
I'll rewrite my patch to make it. If it is applied at 2.6.15, I'll be glad.
Thanks.
-- Yasunori Goto
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |