Re: [rcu] c0f4dfd4f9: -65% softirqs.RCU

From: Paul E. McKenney
Date: Mon Jan 27 2014 - 12:06:13 EST


On Fri, Jan 24, 2014 at 07:11:30PM +0800, Fengguang Wu wrote:
> On Mon, Jan 20, 2014 at 08:41:00PM -0800, Paul E. McKenney wrote:
> > On Mon, Jan 20, 2014 at 08:29:12PM +0800, Fengguang Wu wrote:
> > > On Sun, Jan 19, 2014 at 03:11:14PM -0800, Paul E. McKenney wrote:
> > > > On Sun, Jan 19, 2014 at 08:16:08PM +0800, Fengguang Wu wrote:
> > > > > Hi Paul,
> > > > >
> > > > > Just FYI, we noticed the following changes (which looks good) on old commit
> > > > > c0f4dfd4f9 ("rcu: Make RCU_FAST_NO_HZ take advantage of numbered callbacks")
> > > > > in test case dd-write/4HDD-JBOD-cfq-btrfs-1dd:
> > > > >
> > > > > b11cc5 (parent) c0f4dfd4f90f1667d234d21f1
> > > > > --------------- -------------------------
> > > > > 213757 ~ 4% -65.4% 73929 ~ 3% softirqs.RCU
> > > > > 21193 ~ 5% -36.5% 13451 ~ 4% softirqs.SCHED
> > > > > 2036 ~ 4% -59.4% 825 ~ 3% vmstat.system.cs
> > > > > 1304520 ~ 4% -59.2% 532451 ~ 3% perf-stat.context-switches
> > > > > 95685 ~ 4% -44.0% 53598 ~ 2% perf-stat.cpu-migrations
> > > >
> > > > Glad it helped! IIRC, this same commit increased latencies due to
> > > > synchronize_rcu() latency increasing. So this is the good side of
> > > > that other not-so-good result. ;-)
> > >
> > > If you care it and there is a low cost way for user space to get that
> > > synchronize_rcu() latency, I'd be eager to collect it in my tests. :)
> >
> > Would a kernel module that measured the latency be OK, or do you need
> > some system call that is exposed to synchronize_rcu() latency?
>
> Kernel module should be good enough for me. Perhaps something like
> kernel/latencytop.c?

So you are looking for something that measures synchronize_rcu() latency
for the synchronize_rcu() calls that occur naturally in the kernel, rather
than having a focused microbenchmark?

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/