All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: "Marcin Ślusarz" <marcin.slusarz@gmail.com>
Cc: David Rientjes <rientjes@google.com>, Tejun Heo <tj@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-mm@kvack.org
Subject: Re: cpu_hotplug vs oom_notify_list: possible circular locking dependency detected
Date: Mon, 20 Jul 2015 17:48:03 -0700	[thread overview]
Message-ID: <20150721004803.GO3717@linux.vnet.ibm.com> (raw)
In-Reply-To: <20150719095818.GA7200@marcin-Inspiron-7720>

On Sun, Jul 19, 2015 at 11:58:18AM +0200, Marcin A?lusarz wrote:
> On Thu, Jul 16, 2015 at 02:01:56PM -0700, David Rientjes wrote:
> > On Wed, 15 Jul 2015, Paul E. McKenney wrote:
> > 
> > > On Tue, Jul 14, 2015 at 04:48:24PM -0700, David Rientjes wrote:
> > > > On Tue, 14 Jul 2015, Paul E. McKenney wrote:
> > > > 
> > > > > commit a1992f2f3b8e174d740a8f764d0d51344bed2eed
> > > > > Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > > > > Date:   Tue Jul 14 16:24:14 2015 -0700
> > > > > 
> > > > >     rcu: Don't disable CPU hotplug during OOM notifiers
> > > > >     
> > > > >     RCU's rcu_oom_notify() disables CPU hotplug in order to stabilize the
> > > > >     list of online CPUs, which it traverses.  However, this is completely
> > > > >     pointless because smp_call_function_single() will quietly fail if invoked
> > > > >     on an offline CPU.  Because the count of requests is incremented in the
> > > > >     rcu_oom_notify_cpu() function that is remotely invoked, everything works
> > > > >     nicely even in the face of concurrent CPU-hotplug operations.
> > > > >     
> > > > >     Furthermore, in recent kernels, invoking get_online_cpus() from an OOM
> > > > >     notifier can result in deadlock.  This commit therefore removes the
> > > > >     call to get_online_cpus() and put_online_cpus() from rcu_oom_notify().
> > > > >     
> > > > >     Reported-by: Marcin A?lusarz <marcin.slusarz@gmail.com>
> > > > >     Reported-by: David Rientjes <rientjes@google.com>
> > > > >     Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > > > 
> > > > Acked-by: David Rientjes <rientjes@google.com>
> > > 
> > > Thank you!
> > > 
> > > Any news on whether or not it solves the problem?
> > > 
> > 
> > Marcin, is your lockdep violation reproducible?  If so, does this patch 
> > fix it?
> 
> I finally found enough time today to test it. I can reproduce it without
> the above patch and can't with. So:
> Tested-by: Marcin A?lusarz <marcin.slusarz@gmail.com>

Thank you, applied!

							Thanx, Paul

--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: "Marcin Ślusarz" <marcin.slusarz@gmail.com>
Cc: David Rientjes <rientjes@google.com>, Tejun Heo <tj@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-mm@kvack.org
Subject: Re: cpu_hotplug vs oom_notify_list: possible circular locking dependency detected
Date: Mon, 20 Jul 2015 17:48:03 -0700	[thread overview]
Message-ID: <20150721004803.GO3717@linux.vnet.ibm.com> (raw)
In-Reply-To: <20150719095818.GA7200@marcin-Inspiron-7720>

On Sun, Jul 19, 2015 at 11:58:18AM +0200, Marcin Ślusarz wrote:
> On Thu, Jul 16, 2015 at 02:01:56PM -0700, David Rientjes wrote:
> > On Wed, 15 Jul 2015, Paul E. McKenney wrote:
> > 
> > > On Tue, Jul 14, 2015 at 04:48:24PM -0700, David Rientjes wrote:
> > > > On Tue, 14 Jul 2015, Paul E. McKenney wrote:
> > > > 
> > > > > commit a1992f2f3b8e174d740a8f764d0d51344bed2eed
> > > > > Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > > > > Date:   Tue Jul 14 16:24:14 2015 -0700
> > > > > 
> > > > >     rcu: Don't disable CPU hotplug during OOM notifiers
> > > > >     
> > > > >     RCU's rcu_oom_notify() disables CPU hotplug in order to stabilize the
> > > > >     list of online CPUs, which it traverses.  However, this is completely
> > > > >     pointless because smp_call_function_single() will quietly fail if invoked
> > > > >     on an offline CPU.  Because the count of requests is incremented in the
> > > > >     rcu_oom_notify_cpu() function that is remotely invoked, everything works
> > > > >     nicely even in the face of concurrent CPU-hotplug operations.
> > > > >     
> > > > >     Furthermore, in recent kernels, invoking get_online_cpus() from an OOM
> > > > >     notifier can result in deadlock.  This commit therefore removes the
> > > > >     call to get_online_cpus() and put_online_cpus() from rcu_oom_notify().
> > > > >     
> > > > >     Reported-by: Marcin Ślusarz <marcin.slusarz@gmail.com>
> > > > >     Reported-by: David Rientjes <rientjes@google.com>
> > > > >     Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > > > 
> > > > Acked-by: David Rientjes <rientjes@google.com>
> > > 
> > > Thank you!
> > > 
> > > Any news on whether or not it solves the problem?
> > > 
> > 
> > Marcin, is your lockdep violation reproducible?  If so, does this patch 
> > fix it?
> 
> I finally found enough time today to test it. I can reproduce it without
> the above patch and can't with. So:
> Tested-by: Marcin Ślusarz <marcin.slusarz@gmail.com>

Thank you, applied!

							Thanx, Paul


  reply	other threads:[~2015-07-21  0:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-12 10:56 cpu_hotplug vs oom_notify_list: possible circular locking dependency detected Marcin Ślusarz
2015-07-12 10:56 ` Marcin Ślusarz
2015-07-14 22:35 ` David Rientjes
2015-07-14 22:35   ` David Rientjes
2015-07-14 23:29   ` Paul E. McKenney
2015-07-14 23:29     ` Paul E. McKenney
2015-07-14 23:48     ` David Rientjes
2015-07-14 23:48       ` David Rientjes
2015-07-15 22:26       ` Paul E. McKenney
2015-07-15 22:26         ` Paul E. McKenney
2015-07-16 21:01         ` David Rientjes
2015-07-16 21:01           ` David Rientjes
2015-07-19  9:58           ` Marcin Ślusarz
2015-07-19  9:58             ` Marcin Ślusarz
2015-07-21  0:48             ` Paul E. McKenney [this message]
2015-07-21  0:48               ` Paul E. McKenney

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=20150721004803.GO3717@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=marcin.slusarz@gmail.com \
    --cc=rientjes@google.com \
    --cc=tj@kernel.org \
    /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.