[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
swapout frenzy solution
Hi Linus,
I've just come up with a simple 'solution' for the swapout
frenzy experienced by the recent free_memory_available()
test in kswapd.
We simply stop kswapd when nr_free_pages > free_pages_high * 4.
Since page allocation always assigns a page from the smallest
possible unit, the larger free areas are extremely likely to
grow bigger and bigger, especially when nr_free_pages is very
large, say > 3 * free_pages_high.
Since my vmscan.c is somewhat different from yours, and since
I don't know what you have done to it in the last week, I
won't send you a diff.
(trying to merge a faulty diff is _far_ more work than
doing the 30 second edit yourself :-)
I'm trying it now, and I don't see any swapout frenzies
occurring anymore...
Rik.
+-----------------------------+------------------------------+
| For Linux mm-patches, go to | "I'm busy managing memory.." |
| my homepage (via LinuxHQ). | H.H.vanRiel@fys.ruu.nl |
| ...submissions welcome... | http://www.fys.ruu.nl/~riel/ |
+-----------------------------+------------------------------+