Messages in this thread | | | From | Christian Borntraeger <> | Subject | Re: oomkiller over-ambitious after "vmscan: make mapped executable pages the first class citizen" (bisected) | Date | Tue, 13 Oct 2009 07:50:36 +0200 |
| |
Am Dienstag 13 Oktober 2009 04:26:50 schrieb Wu Fengguang: [...]
> Can you try this patch? Thanks!
Yes, this patch solves the problem. In fact, my test case was a reduced version of KVM on s390 and it helps there as well.
Since the problem also affects 2.6.31 I added stable.
I agree with Rik, that this patch should go to Linus quickly, what is the best way? Andrew?
> --- > vmscan: limit VM_EXEC protection to file pages > > It is possible to have !Anon but SwapBacked pages, and some apps could > create huge number of such pages with MAP_SHARED|MAP_ANONYMOUS. These > pages go into the ANON lru list, and hence shall not be protected: we > only care mapped executable files. Failing to do so may trigger OOM. > > Reported-by: Christian Borntraeger <borntraeger@de.ibm.com> > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
> --- > mm/vmscan.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- linux.orig/mm/vmscan.c 2009-10-13 09:49:05.000000000 +0800 > +++ linux/mm/vmscan.c 2009-10-13 09:49:37.000000000 +0800 > @@ -1356,7 +1356,7 @@ static void shrink_active_list(unsigned > * IO, plus JVM can create lots of anon VM_EXEC pages, > * so we ignore them here. > */ > - if ((vm_flags & VM_EXEC) && !PageAnon(page)) { > + if ((vm_flags & VM_EXEC) && page_is_file_cache(page)) { > list_add(&page->lru, &l_active); > continue; > } >
| |