Re: [PATCH]: Clean up of __alloc_pages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2005-10-03 at 08:34 -0700, Christoph Lameter wrote:
> On Sat, 1 Oct 2005, Seth, Rohit wrote:
> 
> > -				goto zone_reclaim_retry;
> > -			}
> > +	if (order == 0) {
> > +		for (i = 0; (z = zones[i]) != NULL; i++) {
> > +			page = buffered_rmqueue(z, 0, gfp_mask, 0);
> > +			if (page) 
> > +				goto got_pg;
> >  		}
> > -
> 
> This is checking all zones for pages on the pcp before going the more 
> expensive route?
> 

That is right.

> 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.

> 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.

Thanks,
-rohit

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux