linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arjan van de Ven <arjan@infradead.org>
To: paulmck@linux.vnet.ibm.com
Cc: Eric Dumazet <dada1@cosmosbay.com>,
	dipankar@in.ibm.com, linux-input@vger.kernel.org,
	dmitry.torokhov@gmail.com, linux-kernel@vger.kernel.org
Subject: Re: Question about usage of RCU in the input layer
Date: Sat, 21 Mar 2009 20:40:45 -0700	[thread overview]
Message-ID: <20090321204045.4a9022fd@infradead.org> (raw)
In-Reply-To: <20090321210745.GE7148@linux.vnet.ibm.com>

On Sat, 21 Mar 2009 14:07:45 -0700
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:

> On Sat, Mar 21, 2009 at 09:26:08PM +0100, Eric Dumazet wrote:
> > Arjan van de Ven a écrit :
> > > On Fri, 20 Mar 2009 18:27:46 -0700
> > > "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:
> > > 
> > >> On Fri, Mar 20, 2009 at 11:13:54AM -0700, Arjan van de Ven wrote:
> > >>> On Fri, 20 Mar 2009 07:31:04 -0700
> > >>> "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:
> > >>>>> that'd be throwing out the baby with the bathwater... I'm
> > >>>>> trying to use the other cpus to do some of the boot work (so
> > >>>>> that the total goes faster); not using the other cpus would be
> > >>>>> counter productive to that. (As is just sitting in
> > >>>>> synchronize_rcu() when the other cpu is working.. hence this
> > >>>>> discussion ;-)
> > >>>> OK, so you are definitely running multiple CPUs when the
> > >>>> offending synchronize_rcu() executes, then?
> > >>> absolutely. 
> > >>> (and I'm using bootgraph.pl in scripts to track who's stalling
> > >>> etc)
> > >>>> If so, here are some follow-on questions:
> > >>>>
> > >>>> 1.	How many synchronize_rcu() calls are you seeing on
> > >>>> the critical boot path
> > >>> I've seen only this (input) one to take a long time
> > >> Ouch!!!  A -single- synchronize_rcu() taking a full second???
> > >> That indicates breakage.
> > >>
> > >>>>  and what value of HZ are you running?
> > >>> 1000
> > >> K, in absence of readers for RCU_CLASSIC, we should see a handful
> > >> of milliseconds for synchronize_rcu().
> > > 
> > > I've attached an instrumented bootgraph of what is going on;
> > > the rcu delays are shown as red blocks inside the regular
> > > functions as they initialize......
> > > 
> > > (svg can be viewed with inkscape, gimp, firefox and various other
> > > tools)
> > 
> > Interesting stuff...
> > 
> > I thought you mentioned i2c drivers being source of the udelays(),
> >  but I cant see them in this svg, unless its async_probe_hard ?
> 
> Arjan, another thought -- if the udelays() are not under
> rcu_read_lock(), you should be able to finesse this by using
> CONFIG_PREEMPT_RCU, which will happily ignore spinning CPUs as long
> as they are not in an RCU read-side critical section.

I'll play with that
In the mean time I've reduced the "other" function's time significantly;
so the urgency has gone away some.

It's still "interesting" that even in the "there is only really one
thread running" case the minimum delay seems to be 2700 microseconds
for classic RCU. Especially during bootup that sounds a bit harsh....
(since that is where many "read mostly" cases actually get their
modifications)

> 
> 							Thanx, Paul


-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2009-03-22  3:40 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-19  4:58 Question about usage of RCU in the input layer Arjan van de Ven
2009-03-19  7:23 ` Dmitry Torokhov
2009-03-19 14:02   ` Arjan van de Ven
2009-03-19  8:56 ` Dipankar Sarma
2009-03-19 14:18   ` Arjan van de Ven
2009-03-20  2:07     ` Paul E. McKenney
2009-03-20  3:20       ` Arjan van de Ven
2009-03-20  4:45         ` Paul E. McKenney
2009-03-20  5:28           ` Eric Dumazet
2009-03-20  6:01             ` Dipankar Sarma
2009-03-20  6:35               ` Eric Dumazet
2009-03-20 13:50           ` Arjan van de Ven
2009-03-20 14:31             ` Paul E. McKenney
2009-03-20 18:13               ` Arjan van de Ven
2009-03-21  1:27                 ` Paul E. McKenney
2009-03-21  4:58                   ` Arjan van de Ven
2009-03-21 18:58                     ` Paul E. McKenney
2009-03-21 19:51                   ` Arjan van de Ven
2009-03-21 20:26                     ` Eric Dumazet
2009-03-21 21:07                       ` Paul E. McKenney
2009-03-22  3:40                         ` Arjan van de Ven [this message]
2009-03-22  4:38                           ` Paul E. McKenney
2009-03-22  4:51                             ` Arjan van de Ven
2009-03-22  5:18                               ` Paul E. McKenney
2009-03-22  5:53                                 ` Arjan van de Ven
2009-03-22 16:53                                   ` Paul E. McKenney
2009-03-22 19:46                                     ` Arjan van de Ven
2009-03-22 20:52                                       ` Paul E. McKenney
2009-03-22 22:44                                         ` Arjan van de Ven
2009-03-22 23:03                                           ` Paul E. McKenney
2009-03-22 23:16                                             ` Arjan van de Ven
2009-03-23  1:27                                               ` Paul E. McKenney
2009-04-03  1:27                                                 ` Paul E. McKenney
2009-03-21 21:13                       ` Arjan van de Ven
2009-03-20 22:21               ` Paul E. McKenney
2009-03-21  5:46         ` Dmitry Torokhov
2009-03-21  9:13           ` Eric Dumazet
2009-03-21 18:58             ` 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=20090321204045.4a9022fd@infradead.org \
    --to=arjan@infradead.org \
    --cc=dada1@cosmosbay.com \
    --cc=dipankar@in.ibm.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    /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;
as well as URLs for NNTP newsgroup(s).