Re: [discuss] Re: x86_64: 2.6.14-rc4 swiotlb broken

From: Alex Williamson
Date: Tue Oct 18 2005 - 17:04:51 EST


On Tue, 2005-10-18 at 14:53 -0700, Ravikiran G Thirumalai wrote:
> On Tue, Oct 18, 2005 at 03:28:27PM -0600, Alex Williamson wrote:
> > So, it looks like we're iterating over the nodes, but
> > alloc_bootmem_node() isn't even guaranteed to try to get memory from the
> > low memory on that node.
>
> Thanks Alex. 2.6.14-rc4-mm1 already has the
> guarantee-dma-area-for-alloc_bootmem_low.patch by Yasunori-san. So it is
> safer to confirm results on latest 2.6.14 stock.

Ok. I'll need to build a stock tree then.

> Could it also be that Node 2 is offline when swiotlb is allocated?

Nope. Note that Node2 is iterated in the for_each_online_node, my
printk is within the body of the loop. Also, the allocation it did get
is still from Node2. My understanding is that goal for
alloc_bootmem_node is MAX_DMA_ADDRESS. On ia64, that defaults to 4GB.
So it makes sense that we're using the second region in the
discontiguous space of that node. This solution therefore relies on one
of the nodes having less than 4GB of zero base memory. That's a pretty
weak assumption. Thanks,

Alex

--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/