|From:||Eric Dumazet <eric.dumazet-AT-gmail.com>|
|To:||Andi Kleen <ak-AT-linux.intel.com>|
|Subject:||Re: [bisected] pre-3.16 regression on open() scalability|
|Date:||Wed, 18 Jun 2014 21:52:25 -0700|
|Cc:||"Paul E. McKenney" <paulmck-AT-linux.vnet.ibm.com>, Dave Hansen <dave.hansen-AT-intel.com>, LKML <linux-kernel-AT-vger.kernel.org>, Josh Triplett <josh-AT-joshtriplett.org>, "Chen, Tim C" <tim.c.chen-AT-intel.com>, Christoph Lameter <cl-AT-linux.com>|
On Wed, 2014-06-18 at 20:38 -0700, Andi Kleen wrote: > On Wed, Jun 18, 2014 at 07:13:37PM -0700, Paul E. McKenney wrote: > > On Wed, Jun 18, 2014 at 06:42:00PM -0700, Andi Kleen wrote: > > > > > > I still think it's totally the wrong direction to pollute so > > > many fast paths with this obscure debugging check workaround > > > unconditionally. > > > > OOM prevention should count for something, I would hope. > > OOM in what scenario? This is getting bizarre. > > If something keeps looping forever in the kernel creating > RCU callbacks without any real quiescent states it's simply broken. Typical problem we faced in the past is in exit() path when multi thousands of files/sockets are rcu-freed, and qhimark is hit. Huge latency alerts, as freeing 10000+ items takes a while (about 70 ns per item...) Maybe close_files() should use a cond_resched_and_keep_rcu_queues_small_please() ;)
Copyright © 2014, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds