All of lore.kernel.org
 help / color / mirror / Atom feed
From: Minchan Kim <minchan.kim@gmail.com>
To: Andrew Lutomirski <luto@mit.edu>
Cc: Andrea Arcangeli <aarcange@redhat.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	fengguang.wu@intel.com, andi@firstfloor.org, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, mgorman@suse.de,
	hannes@cmpxchg.org, riel@redhat.com
Subject: Re: Kernel falls apart under light memory pressure (i.e. linking vmlinux)
Date: Sat, 21 May 2011 01:19:34 +0900	[thread overview]
Message-ID: <20110520161934.GA2386@barrios-desktop> (raw)
In-Reply-To: <BANLkTi=X+=Wh1MLs7Fc-v-OMtxAHbcPmxA@mail.gmail.com>

On Fri, May 20, 2011 at 12:01:12PM -0400, Andrew Lutomirski wrote:
> On Fri, May 20, 2011 at 11:33 AM, Minchan Kim <minchan.kim@gmail.com> wrote:
> 
> > diff --git a/mm/vmscan.c b/mm/vmscan.c
> > index 8bfd450..a5c01e9 100644
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -1430,7 +1430,10 @@ shrink_inactive_list(unsigned long nr_to_scan, struct zone *zone,
> >
> >        /* Check if we should syncronously wait for writeback */
> >        if (should_reclaim_stall(nr_taken, nr_reclaimed, priority, sc)) {
> > +               unsigned long nr_active;
> >                set_reclaim_mode(priority, sc, true);
> > +               nr_active = clear_active_flags(&page_list, NULL);
> > +               count_vm_events(PGDEACTIVATE, nr_active);
> >                nr_reclaimed += shrink_page_list(&page_list, zone, sc);
> >        }
> >
> > --
> 
> I'm now running that patch *without* the pgdat_balanced fix or the
> need_resched check.  The VM_BUG_ON doesn't happen but I still get

Please forget need_resched.
Instead of it, could you test shrink_slab patch with !pgdat_balanced?

@@ -231,8 +231,11 @@ unsigned long shrink_slab(struct shrink_control *shrink,
       if (scanned == 0)
               scanned = SWAP_CLUSTER_MAX;

-       if (!down_read_trylock(&shrinker_rwsem))
-               return 1;       /* Assume we'll be able to shrink next time */
+       if (!down_read_trylock(&shrinker_rwsem)) {
+               /* Assume we'll be able to shrink next time */
+               ret = 1;
+               goto out;
+       }

       list_for_each_entry(shrinker, &shrinker_list, list) {
               unsigned long long delta;
@@ -286,6 +289,8 @@ unsigned long shrink_slab(struct shrink_control *shrink,
               shrinker->nr += total_scan;
       }
       up_read(&shrinker_rwsem);
+out:
+       cond_resched();
       return ret;
 }

> incorrect OOM kills.
> 
> However, if I replace the check with:
> 
> 	if (false &&should_reclaim_stall(nr_taken, nr_reclaimed, priority, sc)) {
> 
> then my system lags under bad memory pressure but recovers without
> OOMs or oopses.

I agree you can see OOM but oops? Did you see any oops?

> 
> Is that expected?


No..  :(

It's totally opposite.
That routine is for getting the memory althought we lose latency
It's another issue. :(

> 
> --Andy
> 
> > 1.7.1
> >
> > --
> > Kind regards,
> > Minchan Kim
> >

-- 
Kind regards,
Minchan Kim

WARNING: multiple messages have this Message-ID (diff)
From: Minchan Kim <minchan.kim@gmail.com>
To: Andrew Lutomirski <luto@mit.edu>
Cc: Andrea Arcangeli <aarcange@redhat.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	fengguang.wu@intel.com, andi@firstfloor.org, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, mgorman@suse.de,
	hannes@cmpxchg.org, riel@redhat.com
Subject: Re: Kernel falls apart under light memory pressure (i.e. linking vmlinux)
Date: Sat, 21 May 2011 01:19:34 +0900	[thread overview]
Message-ID: <20110520161934.GA2386@barrios-desktop> (raw)
In-Reply-To: <BANLkTi=X+=Wh1MLs7Fc-v-OMtxAHbcPmxA@mail.gmail.com>

On Fri, May 20, 2011 at 12:01:12PM -0400, Andrew Lutomirski wrote:
> On Fri, May 20, 2011 at 11:33 AM, Minchan Kim <minchan.kim@gmail.com> wrote:
> 
> > diff --git a/mm/vmscan.c b/mm/vmscan.c
> > index 8bfd450..a5c01e9 100644
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -1430,7 +1430,10 @@ shrink_inactive_list(unsigned long nr_to_scan, struct zone *zone,
> >
> >        /* Check if we should syncronously wait for writeback */
> >        if (should_reclaim_stall(nr_taken, nr_reclaimed, priority, sc)) {
> > +               unsigned long nr_active;
> >                set_reclaim_mode(priority, sc, true);
> > +               nr_active = clear_active_flags(&page_list, NULL);
> > +               count_vm_events(PGDEACTIVATE, nr_active);
> >                nr_reclaimed += shrink_page_list(&page_list, zone, sc);
> >        }
> >
> > --
> 
> I'm now running that patch *without* the pgdat_balanced fix or the
> need_resched check.  The VM_BUG_ON doesn't happen but I still get

Please forget need_resched.
Instead of it, could you test shrink_slab patch with !pgdat_balanced?

@@ -231,8 +231,11 @@ unsigned long shrink_slab(struct shrink_control *shrink,
       if (scanned == 0)
               scanned = SWAP_CLUSTER_MAX;

-       if (!down_read_trylock(&shrinker_rwsem))
-               return 1;       /* Assume we'll be able to shrink next time */
+       if (!down_read_trylock(&shrinker_rwsem)) {
+               /* Assume we'll be able to shrink next time */
+               ret = 1;
+               goto out;
+       }

       list_for_each_entry(shrinker, &shrinker_list, list) {
               unsigned long long delta;
@@ -286,6 +289,8 @@ unsigned long shrink_slab(struct shrink_control *shrink,
               shrinker->nr += total_scan;
       }
       up_read(&shrinker_rwsem);
+out:
+       cond_resched();
       return ret;
 }

> incorrect OOM kills.
> 
> However, if I replace the check with:
> 
> 	if (false &&should_reclaim_stall(nr_taken, nr_reclaimed, priority, sc)) {
> 
> then my system lags under bad memory pressure but recovers without
> OOMs or oopses.

I agree you can see OOM but oops? Did you see any oops?

> 
> Is that expected?


No..  :(

It's totally opposite.
That routine is for getting the memory althought we lose latency
It's another issue. :(

> 
> --Andy
> 
> > 1.7.1
> >
> > --
> > Kind regards,
> > Minchan Kim
> >

-- 
Kind regards,
Minchan Kim

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2011-05-20 16:19 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-11 22:42 Kernel falls apart under light memory pressure (i.e. linking vmlinux) Andrew Lutomirski
2011-05-11 23:07 ` Andi Kleen
2011-05-11 23:28   ` Andrew Lutomirski
2011-05-12  5:46     ` Andi Kleen
2011-05-12 11:54       ` Andrew Lutomirski
2011-05-14 15:46         ` Andrew Lutomirski
2011-05-14 15:46           ` Andrew Lutomirski
2011-05-14 16:53           ` Andi Kleen
2011-05-14 16:53             ` Andi Kleen
     [not found]             ` <BANLkTik6SS9NH7XVSRBoCR16_5veY0MKBw@mail.gmail.com>
2011-05-14 17:43               ` Andi Kleen
2011-05-15  1:37                 ` Minchan Kim
2011-05-15 15:27                   ` Wu Fengguang
2011-05-15 15:27                     ` Wu Fengguang
2011-05-15 15:59                     ` Andrew Lutomirski
2011-05-15 15:59                       ` Andrew Lutomirski
2011-05-15 22:58                       ` Minchan Kim
2011-05-15 22:58                         ` Minchan Kim
2011-05-16  8:51                         ` Mel Gorman
2011-05-16  8:51                           ` Mel Gorman
2011-05-15 16:12                     ` Andrew Lutomirski
2011-05-15 16:12                       ` Andrew Lutomirski
2011-05-17  6:00                       ` Wu Fengguang
2011-05-17  6:00                         ` Wu Fengguang
2011-05-17  6:35                         ` Minchan Kim
2011-05-17  6:35                           ` Minchan Kim
2011-05-17 19:22                         ` Andrew Lutomirski
2011-05-18  5:17                           ` Minchan Kim
2011-05-18  5:17                             ` Minchan Kim
2011-05-19  2:15                             ` Andrew Lutomirski
2011-05-19  2:30                               ` KAMEZAWA Hiroyuki
2011-05-19  2:30                                 ` KAMEZAWA Hiroyuki
2011-05-19  2:41                                 ` Andrew Lutomirski
2011-05-19  2:54                               ` Minchan Kim
2011-05-19  2:54                                 ` Minchan Kim
2011-05-19 14:16                                 ` Andrew Lutomirski
2011-05-20  0:17                                   ` Minchan Kim
2011-05-20  0:17                                     ` Minchan Kim
2011-05-20  2:58                                   ` Andrew Lutomirski
2011-05-20  2:58                                     ` Andrew Lutomirski
2011-05-20  3:12                                     ` KOSAKI Motohiro
2011-05-20  3:12                                       ` KOSAKI Motohiro
2011-05-20  3:38                                       ` Andrew Lutomirski
2011-05-20  3:38                                         ` Andrew Lutomirski
2011-05-20  4:20                                         ` Minchan Kim
2011-05-20  4:20                                           ` Minchan Kim
2011-05-20  5:08                                           ` KAMEZAWA Hiroyuki
2011-05-20  5:08                                             ` KAMEZAWA Hiroyuki
2011-05-20  5:36                                             ` Minchan Kim
2011-05-20  5:36                                               ` Minchan Kim
2011-05-20  7:43                                               ` KAMEZAWA Hiroyuki
2011-05-20  7:43                                                 ` KAMEZAWA Hiroyuki
2011-05-20 10:11                                             ` Andrea Arcangeli
2011-05-20 10:11                                               ` Andrea Arcangeli
2011-05-20 14:11                                               ` Andrew Lutomirski
2011-05-20 15:33                                                 ` Minchan Kim
2011-05-20 15:33                                                   ` Minchan Kim
2011-05-20 16:01                                                   ` Andrew Lutomirski
2011-05-20 16:01                                                     ` Andrew Lutomirski
2011-05-20 16:19                                                     ` Minchan Kim [this message]
2011-05-20 16:19                                                       ` Minchan Kim
2011-05-20 18:09                                                       ` Andrew Lutomirski
2011-05-20 18:40                                                         ` Andrew Lutomirski
2011-05-20 18:40                                                           ` Andrew Lutomirski
2011-05-21 12:04                                                         ` KOSAKI Motohiro
2011-05-21 12:04                                                           ` KOSAKI Motohiro
2011-05-21 13:34                                                           ` Andrew Lutomirski
2011-05-21 13:34                                                             ` Andrew Lutomirski
2011-05-21 14:14                                                             ` KOSAKI Motohiro
2011-05-21 14:14                                                               ` KOSAKI Motohiro
2011-05-21 14:44                                                             ` Minchan Kim
2011-05-21 14:44                                                               ` Minchan Kim
2011-05-22 12:22                                                               ` Andrew Lutomirski
2011-05-22 12:22                                                                 ` Andrew Lutomirski
2011-05-22 23:12                                                                 ` Minchan Kim
2011-05-22 23:12                                                                   ` Minchan Kim
2011-05-23 16:42                                                                   ` Andrea Arcangeli
2011-05-23 16:42                                                                     ` Andrea Arcangeli
2011-05-23 17:35                                                                     ` Mel Gorman
2011-05-23 17:35                                                                       ` Mel Gorman
2011-05-24  1:19                                                                   ` Andrew Lutomirski
2011-05-24  1:34                                                                     ` Minchan Kim
2011-05-24  1:34                                                                       ` Minchan Kim
2011-05-24 11:24                                                                       ` Andrew Lutomirski
2011-05-24 11:24                                                                         ` Andrew Lutomirski
2011-05-24 11:55                                                                         ` Andrew Lutomirski
2011-05-25  0:43                                                                           ` KOSAKI Motohiro
2011-05-25  0:43                                                                             ` KOSAKI Motohiro
2011-05-21 14:31                                                           ` Minchan Kim
2011-05-21 14:31                                                             ` Minchan Kim
2011-05-19 14:51                             ` Wu Fengguang
2011-05-19 14:51                               ` Wu Fengguang
2011-05-19 15:00                               ` Andrew Lutomirski
2011-05-19 15:00                                 ` Andrew Lutomirski
2011-05-20  0:20                               ` Minchan Kim
2011-05-20  0:20                                 ` Minchan Kim
2011-05-15 22:40                     ` Minchan Kim
2011-05-15 22:40                       ` Minchan Kim
2011-05-17  5:52                       ` Wu Fengguang
2011-05-17  5:52                         ` Wu Fengguang
2011-05-17  6:26                         ` Minchan Kim
2011-05-17  6:26                           ` Minchan Kim
2011-05-20 10:40   ` Andrea Arcangeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110520161934.GA2386@barrios-desktop \
    --to=minchan.kim@gmail.com \
    --cc=aarcange@redhat.com \
    --cc=andi@firstfloor.org \
    --cc=fengguang.wu@intel.com \
    --cc=hannes@cmpxchg.org \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@mit.edu \
    --cc=mgorman@suse.de \
    --cc=riel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.