Thread (11 messages) 11 messages, 5 authors, 2005-09-30

Re: [PATCH] earlier allocation of order 0 pages from pcp in __alloc_pages

From: Rohit Seth <hidden>
Date: 2005-09-30 01:24:59
Also in: lkml

On Thu, 2005-09-29 at 15:48 -0700, Martin J. Bligh wrote:
quoted
        Try to service a order 0 page request from pcp list.  This will allow us to not check and possibly start the reclaim activity when there are free pages present on the pcp.  This early allocation does not try to replenish an empty pcp.

        Signed-off-by: Rohit Seth [off-list ref]
It seems a bit odd to copy more code to do this, which I think we already
have in buffered_rmqueue? Can we clean up the flow a bit here ... it 
is already looking messy in __alloc_pages with various gotos and crud
there. I'm not saying what you're trying to do is bad, but the flow
in there is getting more and move convoluted, and we perhaps need to
straighten it. 
I will update/streamline __alloc_pages code and send the patch.
It looks like we're now dropping into direct reclaim as the first thing
in __alloc_pages before even trying to kick off kswapd. When the hell
did that start? Or is that only meant to trigger if we're already below
the low watermark level?
As Andrew said in the other mail that do_reclaim is never true so the
first reclaim never happens.  That also means that we don't look at pcp
for the scenarios when zone has run below the low water mark before
waking kswapd.
What do we want to do at a higher level?

	if (order 0) and (have stuff in the local lists)
		take from local lists
	else if (we're under a little pressure)
		do kswapd reclaim
	else if (we're under a lot of pressure)
		do direct reclaim?

That whole code area seems to have been turned into spagetti, without
any clear comments.
Agreed. 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help