Messages in this thread | | | Date | Sun, 29 Jun 2008 11:16:05 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH] splitlru: BDI_CAP_SWAP_BACKED |
| |
On Sun, 29 Jun 2008 17:48:59 +0900 KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:
> I'm not sure about this patch is perfect. > but it seems makes sense and very good code. > > So, I'll testing this patch for a while. > > Rik, What do you think about it?
I have been running with a similar patch for a while, and got my system to OOM :)
However, the patch is correct and the OOM is caused by a different issue. When stress-testing with a loopback device on a tmpfs file, the VM thinks that we succeed in evicting pages from the loopback device (file LRUs) and continues scanning those LRUs.
Unfortunately for the VM, the loopback writepage function, in combination with splice, end up moving the pages to the anon LRUs, instead of freeing any pages.
This confuses the balancing code, which thinks the pages got freed. As a result, the VM keeps scanning the file LRUs and will eventually realize it failed to free any memory.
One of Kosaki-san's recent patches may fix this, though.
-- All rights reversed.
| |