lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170424062220.GZ3956@linux.vnet.ibm.com>
Date:   Sun, 23 Apr 2017 23:22:20 -0700
From:   "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To:     Mike Galbraith <efault@....de>
Cc:     LKML <linux-kernel@...r.kernel.org>
Subject: Re: TREE_SRCU slows hotplug by factor ~16

On Mon, Apr 24, 2017 at 07:24:44AM +0200, Mike Galbraith wrote:
> On Sun, 2017-04-23 at 20:32 -0700, Paul E. McKenney wrote:
> > On Mon, Apr 24, 2017 at 04:48:09AM +0200, Mike Galbraith wrote:
> > > Greetings,
> > > 
> > > Running Steven's hotplug stress script in tip w. CLASSIC_SRCU takes 55s
> > > in my i4790 box, whereas TREE_SRCU takes over 16m.  (Master with the
> > > same config does it in 39s.. but then lockdep isn't enabled in master)
> > 
> > That doesn't sound good...
> > 
> > But exactly which version are you using?  There were some 8x slowdowns
> > earlier this week that have since been fixed.  Also, how many CPUs are
> > on your system?
> 
> 4 cores+SMT, tip.yesterday_afternoon (precise!) was initial test point,
> tip.this_morning (v4.11-rc7-955-g76f8909e1cd8) is still slow.

OK, that is after the earlier fix!  And modest in size as well.

Assuming 4ms per TREE_SRCU synchronize_srcu(), I end up with the
CLASSIC_SRCU doing a synchronize_srcu() every 200us or so, which
I am having a hard time believing.  But it does matter, because
it controls what approach I take to fixing this.

Could you please collect an ftrace (or whatever) showing the timestamp
sequence of calls to synchronize_srcu(), synchronize_srcu_expedited(),
and call_srcu() during the execution of the stress script?  If it is easy
to do, also the timestamp sequence of returns from synchronize_srcu()
and synchronize_srcu_expedited()?

							Thanx, Paul

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ