public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: josh@joshtriplett.org, linux-kernel@vger.kernel.org,
	mingo@kernel.org, laijs@cn.fujitsu.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
	tglx@linutronix.de, rostedt@goodmis.org, dhowells@redhat.com,
	edumazet@google.com, dvhart@linux.intel.com, fweisbec@gmail.com,
	oleg@redhat.com, bobby.prani@gmail.com
Subject: Re: [PATCH RFC tip/core/rcu 0/5] Expedited grace periods encouraging normal ones
Date: Wed, 1 Jul 2015 13:09:36 -0700	[thread overview]
Message-ID: <20150701200936.GP3717@linux.vnet.ibm.com> (raw)
In-Reply-To: <20150701170242.GL3644@twins.programming.kicks-ass.net>

On Wed, Jul 01, 2015 at 07:02:42PM +0200, Peter Zijlstra wrote:
> On Wed, Jul 01, 2015 at 09:17:05AM -0700, Paul E. McKenney wrote:
> > On Wed, Jul 01, 2015 at 04:17:10PM +0200, Peter Zijlstra wrote:
> 
> > > 74b51ee152b6 ("ACPI / osl: speedup grace period in acpi_os_map_cleanup")
> > 
> > Really???
> > 
> > I am not concerned about this one.  After all, one of the first things
> > that people do for OS-jitter-sensitive workloads is to get rid of
> > binary blobs.  And any runtime use of ACPI as well.  And let's face it,
> > if your latency-sensitive workload is using either binary blobs or ACPI,
> > you have already completely lost.  Therefore, an additional expedited
> > grace period cannot possibly cause you to lose any more.
> 
> This isn't solely about rt etc.. this call is a generic facility used by
> however many consumers. A normal workstation/server could run into it at
> relatively high frequency depending on its workload.
> 
> Even on not latency sensitive workloads I think hammering all active
> CPUs is bad behaviour. Remember that a typical server class machine
> easily has more than 32 CPUs these days.

Well, that certainly is one reason for the funnel locking, sequence
counters, etc., keeping the overhead bounded despite large numbers
of CPUs.  So I don't believe that a non-RT/non-HPC workload is going
to notice.

> > > Also, I'm not entirely convinced things like:
> > > 
> > > fd2ed4d25270 ("dm: add statistics support")
> > > 83d5e5b0af90 ("dm: optimize use SRCU and RCU")
> > > ef3230880abd ("backing-dev: use synchronize_rcu_expedited instead of synchronize_rcu")
> > > 
> > > Are in the 'never' happens category. Esp. the backing-dev one, it
> > > triggers every time you unplug a USB stick or similar.
> > 
> > Which people should be assiduously avoiding for any sort of
> > industrial-control system, especially given things like STUXNET.
> 
> USB sure, but a backing dev is involved in nfs clients, loopback and all
> sorts of block/filesystem like setups.
> 
> unmount an NFS mount and voila expedited rcu, unmount a loopback, tada.
> 
> All you need is a regular server workload triggering any of that on a
> semi regular basis and even !rt people might start to notice something
> is up.

I don't believe that latency-sensitive systems are going to be messing
with remapping their storage at runtime, let alone on a regular basis.
If they are not latency sensitive, and assuming that the rate of
storage remapping is at all sane, I bet that they won't notice the
synchronize_rcu_expedited() overhead.  The overhead of the actual
remapping will very likely leave the synchronize_rcu_expedited() overhead
way down in the noise.

And if they are doing completely insane rates of storage remapping,
I suspect that the batching in the synchronize_rcu_expedited()
implementation will reduce the expedited-grace-period overhead still
further as a fraction of the total.

> > > Rejigging a DM might indeed be rare enough; but then again, people use
> > > DM explicitly so they can rejig while in operation.
> > 
> > They rejig DM when running OS-jitter-sensitive workloads?
> 
> Unlikely but who knows, I don't really know DM, so I can't even tell
> what would trigger these.

In my experience, the hard-core low-latency guys avoid doing pretty
much anything that isn't completely essential to the job at hand.

							Thanx, Paul


  reply	other threads:[~2015-07-01 20:46 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-30 21:48 [PATCH RFC tip/core/rcu 0/5] Expedited grace periods encouraging normal ones Paul E. McKenney
2015-06-30 21:48 ` [PATCH RFC tip/core/rcu 1/5] rcu: Prepare for expedited GP driving normal GP Paul E. McKenney
2015-06-30 21:48   ` [PATCH RFC tip/core/rcu 2/5] rcu: Short-circuit normal GPs via expedited GPs Paul E. McKenney
2015-07-01 10:03     ` Peter Zijlstra
2015-07-01 13:42       ` Paul E. McKenney
2015-07-01 20:59       ` Paul E. McKenney
2015-07-01 10:05     ` Peter Zijlstra
2015-07-01 13:41       ` Paul E. McKenney
2015-07-01 13:48         ` Peter Zijlstra
2015-07-01 14:03           ` Paul E. McKenney
2015-07-02 12:03             ` Peter Zijlstra
2015-07-02 14:06               ` Paul E. McKenney
2015-07-02 16:48                 ` Peter Zijlstra
2015-07-02 19:35                   ` Paul E. McKenney
2015-07-06 14:52                     ` Peter Zijlstra
2015-06-30 21:48   ` [PATCH RFC tip/core/rcu 3/5] rcutorture: Ensure that normal GPs advance without " Paul E. McKenney
2015-06-30 21:48   ` [PATCH RFC tip/core/rcu 4/5] rcu: Wake grace-period kthread at end of expedited grace period Paul E. McKenney
2015-06-30 21:48   ` [PATCH RFC tip/core/rcu 5/5] rcu: Limit expedited helping to every 10 ms or every 4th GP Paul E. McKenney
2015-06-30 21:56     ` Eric Dumazet
2015-06-30 22:10       ` Paul E. McKenney
2015-07-01 10:07     ` Peter Zijlstra
2015-07-01 13:45       ` Paul E. McKenney
2015-07-01 19:30       ` Paul E. McKenney
2015-06-30 22:00 ` [PATCH RFC tip/core/rcu 0/5] Expedited grace periods encouraging normal ones josh
2015-06-30 22:12   ` Paul E. McKenney
2015-06-30 23:46     ` josh
2015-07-01  0:15       ` Paul E. McKenney
2015-07-01  0:42         ` Josh Triplett
2015-07-01  3:37           ` Paul E. McKenney
2015-07-01 10:12             ` Peter Zijlstra
2015-07-01 14:01               ` Paul E. McKenney
2015-07-01 14:08                 ` Eric Dumazet
2015-07-01 15:58                   ` Paul E. McKenney
2015-07-01 15:43             ` Josh Triplett
2015-07-01 15:59               ` Paul E. McKenney
2015-07-01 10:09       ` Peter Zijlstra
2015-07-01 10:55         ` Peter Zijlstra
2015-07-01 14:00           ` Paul E. McKenney
2015-07-01 14:17             ` Peter Zijlstra
2015-07-01 16:17               ` Paul E. McKenney
2015-07-01 17:02                 ` Peter Zijlstra
2015-07-01 20:09                   ` Paul E. McKenney [this message]
2015-07-01 21:20                     ` josh
2015-07-01 21:49                       ` Paul E. McKenney
2015-07-02  7:47                     ` Ingo Molnar
2015-07-02 13:58                       ` Paul E. McKenney
2015-07-02 18:35                         ` Ingo Molnar
2015-07-02 18:47                           ` Mathieu Desnoyers
2015-07-02 19:23                             ` Paul E. McKenney
2015-07-02 21:07                               ` Mathieu Desnoyers
2015-07-02 19:22                           ` Paul E. McKenney
2015-07-02  1:11                 ` Mike Galbraith
2015-07-02  1:34                   ` josh
2015-07-02  1:59                     ` Mike Galbraith
2015-07-02  2:18                       ` Paul E. McKenney
2015-07-02  2:50                         ` Mike Galbraith
2015-07-02  3:15                           ` 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=20150701200936.GP3717@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=bobby.prani@gmail.com \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=dvhart@linux.intel.com \
    --cc=edumazet@google.com \
    --cc=fweisbec@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox