Re: [RFC] Initial alpha-0 for new page allocator API

Jesse Barnes
2006-09-22T21:14:00Z

On Friday, September 22, 2006 2:01 pm, Christoph Lameter wrote:
> On Fri, 22 Sep 2006, Jesse Barnes wrote:
> > > + if (dev->coherent_dma_mask < 0xffffffff)
> > > + high = dev->coherent_dma_mask;
> >
> > With your alloc_pages_range this check can go away. I think only the
> > dev == NULL check is needed with this scheme since it looks like
> > there's no way (currently) for ISA devices to store their masks for
> > later consultation by arch code?
>
> This check is necessary to set up the correct high boundary for
> alloc_page_range.

I was suggesting something like:

high = dev ? dev->coherent_dma_mask : 16*1024*1024;

instead. May as well combine your NULL check and your assignment. It'll
also do the right thing for 64 bit devices so we don't put unnecessary
pressure on the 32 bit range. Or am I spacing out and reading the code
wrong?

> > There's max_pfn, but on machines with large memory holes using it
> > might not help much.
>
> I found node_start_pfn and node_spanned_pages in the node structure.
> That gives me the boundaries for a node and I think I can work with
> that.

Even better.

Jesse