[<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