Re: Found the commit that causes the OOMs

From: Minchan Kim
Date: Sat Jun 27 2009 - 08:08:02 EST


HI, David.

First of all, Thanks for your effort to find out cause.

Unfortunately, I don't have followed your problem.
I guess you met OOM problem with no swap device. right ?

My patch shouldn't have affect yours.
The patch's motivation is following as.

"If our system have no swap device, we can't reclaim anon pages.
So, anon pages's moving in anon lru list is unnecessary."

If we don't call shrink_active_list in shrink_zone's tail,
it can affect reclaim_stat->recent_[rotated|scanned].

Then it can affect number of pages for scanning in anon lru list.
But, Look at shrink_zone.

If we don't have swap device, we never scan anon lru list forcely.
(anon lru's percent is always zero)

Nonetheless, OOM happen.

Hmm..
Could I show your oops and show_mem information, please ?

Rik, Kosaki, What do you think ?

On Sat, Jun 27, 2009 at 4:12 PM, David Howells<dhowells@xxxxxxxxxx> wrote:
>
> I've managed to bisect things to find the commit that causes the OOMs. ÂIt's:
>
> Â Â Â Âcommit 69c854817566db82c362797b4a6521d0b00fe1d8
> Â Â Â ÂAuthor: MinChan Kim <minchan.kim@xxxxxxxxx>
> Â Â Â ÂDate: Â Tue Jun 16 15:32:44 2009 -0700
>
> Â Â Â Â Â Âvmscan: prevent shrinking of active anon lru list in case of no swap space V3
>
> Â Â Â Â Â Âshrink_zone() can deactivate active anon pages even if we don't have a
> Â Â Â Â Â Âswap device. ÂMany embedded products don't have a swap device. ÂSo the
> Â Â Â Â Â Âdeactivation of anon pages is unnecessary.
>
> Â Â Â Â Â ÂThis patch prevents unnecessary deactivation of anon lru pages. ÂBut, it
> Â Â Â Â Â Âdon't prevent aging of anon pages to swap out.
>
> Â Â Â Â Â ÂSigned-off-by: Minchan Kim <minchan.kim@xxxxxxxxx>
> Â Â Â Â Â ÂAcked-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
> Â Â Â Â Â ÂCc: Johannes Weiner <hannes@xxxxxxxxxxx>
> Â Â Â Â Â ÂAcked-by: Rik van Riel <riel@xxxxxxxxxx>
> Â Â Â Â Â ÂSigned-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Â Â Â Â Â ÂSigned-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>
> This exhibits the problem. ÂThe previous commit:
>
> Â Â Â Âcommit 35282a2de4e5e4e173ab61aa9d7015886021a821
> Â Â Â ÂAuthor: Brice Goglin <Brice.Goglin@xxxxxxxxxxxx>
> Â Â Â ÂDate: Â Tue Jun 16 15:32:43 2009 -0700
>
> Â Â Â Â Â Âmigration: only migrate_prep() once per move_pages()
>
> survives 16 iterations of the LTP syscall testsuite without exhibiting the
> problem.
>
> David
>



--
Kinds regards,
Minchan Kim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/