Re: 2.6.14-rc2-mm1

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

 



On Tue, 2005-09-27 at 11:57 -0700, Martin J. Bligh wrote:
> > Seems like from the log messages that quite a few pages are hanging
> in the cpu's cold pcp list even with the low memory conditions.  Below
> is the patch to reduce the higher bound in cold pcp list (...this got
> increased with my previous change).  
> 
> >  
> > I think we should also drain the CPU's hot and cold pcps for the
> GFP_KERNEL page requests (in the event the higher order request is not
> able to get serviced otherwise).  This will still only drains the
> current CPUs pcps in an MP environment (leaving the other CPUs with
> their lists intact).  I will send this patch later today.
> 
> >  
> >       [PATCH]: Reduce the high mark in cpu's cold pcp list. 
> >  
> >       Signed-off-by: Rohit Seth <[email protected]> 
> >  
> >  
> > --- linux-2.6.13.old/mm/page_alloc.c  2005-09-26 10:57:07.000000000
> -0700 
> > +++ linux-2.6.13.work/mm/page_alloc.c 2005-09-26 10:47:57.000000000
> -0700 
> > @@ -1749,7 +1749,7 @@ 
> >       pcp = &p->pcp[1];               /* cold*/ 
> >       pcp->count = 0; 
> >       pcp->low = 0; 
> > -     pcp->high = 2 * batch; 
> > +     pcp->high = batch / 2; 
> >       pcp->batch = max(1UL, batch/2); 
> >       INIT_LIST_HEAD(&pcp->list); 
> >  } 
> > -
> 
> I don't understand. How can you set the high watermark at half the
> batch size? Makes no sense to me.
> 

The batch size for the cold pcp list is getting initialized to batch/2
in the code snip above.  So, this change is setting the high water mark
for cold list to same as pcp's batch number.

> And can you give a stricter definiton of what you mean by "low memory 
> conditions"? I agree we ought to empty the lists before going OOM or 
> anything, but not at the slightest feather of pressure ... answer lies
> somewhere inbetween ... but where?
> 

In the specific case of dump information that Mattia sent earlier, there
is only 4M of free mem available at the time the order 1 request is
failing.  

In general, I think if a specific higher order ( > 0) request fails that
has GFP_KERNEL set then at least we should drain the pcps.

-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]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux