Thread (17 messages) 17 messages, 3 authors, 2004-08-06

Re: [PATCH] 1/4: rework alloc_pages

From: Andrew Morton <hidden>
Date: 2004-08-06 05:37:25

Nick Piggin [off-list ref] wrote:
Andrew Morton wrote:
quoted
Nick Piggin [off-list ref] wrote:
quoted
Previously the ->protection[] logic was broken. It was difficult to follow
and basically didn't use the asynch reclaim watermarks properly.

eh?

Broken how?
min = (1<<order) + z->protection[alloc_type];

This value is used both as the condition for waking kswapd, and
whether or not to enter synch reclaim.

What should happen is kswapd gets woken at pages_low, and synch
reclaim is started at pages_min.
Are you aware of this:

void wakeup_kswapd(struct zone *zone)
{
	if (zone->free_pages > zone->pages_low)
		return;

?
pages_low + protection and pages_min + protection, etc.
Nick, sorry, but I shouldn't have to expend these many braincells
decrypting your work.  Please: much better explanations, more testing
results.  This stuff is fiddly, sensitive and has a habit of blowing up in
our faces weeks later.  We need to be cautious.  The barriers are higher
nowadays.

--
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:"aart@kvack.org"> aart@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