Re: [PATCH]: Clean up of __alloc_pages

Christoph Lameter
2005-10-03T16:58:04Z

On Mon, 3 Oct 2005, Rohit Seth wrote:

> > Seems that this removes the logic intended to prefer local
> > allocations over remote pages present in the existing alloc_pages? There
> > is the danger that this modification will lead to the allocation of remote
> > pages even if local pages are available. Thus reducing performance.
> Good catch. I will up level the cpuset check in buffered_rmqueue rather
> then doing it in get_page_from_freelist. That should retain the current
> preferences for local pages.

This is not only the cpuset check. If there is memory available in an
earlier zone then it needs to be taken regardless of later pcp's
the zonelist containing pages. Otherwise we did not take the pages nearest
to the requested node.

> > I would suggest to just check the first zone's pcp instead of all zones.
> >
>
> Na. This for most cases will be ZONE_DMA pcp list having nothing much
> most of the time. And picking any other zone randomly will be exposed
> to faulty behavior.

Maybe only check the first node?