linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Josh Triplett <josh@joshtriplett.org>
Cc: linux-kernel@vger.kernel.org, mingo@elte.hu,
	laijs@cn.fujitsu.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@polymtl.ca,
	niv@us.ibm.com, tglx@linutronix.de, peterz@infradead.org,
	rostedt@goodmis.org, Valdis.Kletnieks@vt.edu,
	dhowells@redhat.com, edumazet@google.com, darren@dvhart.com,
	fweisbec@gmail.com, sbw@mit.edu
Subject: Re: [PATCH tip/core/rcu 4/4] rcu: Make rcutorture's shuffler task shuffle recently added tasks
Date: Mon, 28 Jan 2013 22:40:55 -0800	[thread overview]
Message-ID: <20130129064055.GU6395@linux.vnet.ibm.com> (raw)
In-Reply-To: <20130127104747.GA3119@leaf>

On Sun, Jan 27, 2013 at 09:47:47PM +1100, Josh Triplett wrote:
> On Sat, Jan 26, 2013 at 04:05:20PM -0800, Paul E. McKenney wrote:
> > From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
> > 
> > A number of kthreads have been added to rcutorture, but the shuffler
> > task was not informed of them, and thus did not shuffle them.  This
> > commit therefore adds the requisite shuffling.
> > 
> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> 
> This also makes an unrelated semantic change, and several unrelated
> whitespace changes.
> 
> > ---
> >  kernel/rcutorture.c |   24 ++++++++++++++++++++----
> >  1 files changed, 20 insertions(+), 4 deletions(-)
> > 
> > diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
> > index a583f1c..3ebc8bf 100644
> > --- a/kernel/rcutorture.c
> > +++ b/kernel/rcutorture.c
> > @@ -846,7 +846,7 @@ static int rcu_torture_boost(void *arg)
> >  		/* Wait for the next test interval. */
> >  		oldstarttime = boost_starttime;
> >  		while (ULONG_CMP_LT(jiffies, oldstarttime)) {
> > -			schedule_timeout_uninterruptible(1);
> > +			schedule_timeout_interruptible(oldstarttime - jiffies);
> 
> This change doesn't seem related, and the commit message doesn't explain
> it either.  Could you split it out into a separate commit and document
> the rationale, please?

Ah, it is related because the shuffling is trying to keep CPUs idle,
which means that we don't want all the boost kthreads waking up every
CPU every jiffy.  I agree that this is not obvious, so I have updated
the commit message to call this out.

> >  			rcu_stutter_wait("rcu_torture_boost");
> >  			if (kthread_should_stop() ||
> >  			    fullstop != FULLSTOP_DONTSTOP)
> > @@ -1318,19 +1318,35 @@ static void rcu_torture_shuffle_tasks(void)
> >  				set_cpus_allowed_ptr(reader_tasks[i],
> >  						     shuffle_tmp_mask);
> >  	}
> > -
> >  	if (fakewriter_tasks) {
> >  		for (i = 0; i < nfakewriters; i++)
> >  			if (fakewriter_tasks[i])
> >  				set_cpus_allowed_ptr(fakewriter_tasks[i],
> >  						     shuffle_tmp_mask);
> >  	}
> > -
> >  	if (writer_task)
> >  		set_cpus_allowed_ptr(writer_task, shuffle_tmp_mask);
> > -
> 
> These three whitespace changes seem unrelated as well.

Some cleanup while in the neighborhood.  ;-)

I added this to the commit message as well.

							Thanx, Paul

> >  	if (stats_task)
> >  		set_cpus_allowed_ptr(stats_task, shuffle_tmp_mask);
> > +	if (stutter_task)
> > +		set_cpus_allowed_ptr(stutter_task, shuffle_tmp_mask);
> > +	if (fqs_task)
> > +		set_cpus_allowed_ptr(fqs_task, shuffle_tmp_mask);
> > +	if (shutdown_task)
> > +		set_cpus_allowed_ptr(shutdown_task, shuffle_tmp_mask);
> > +#ifdef CONFIG_HOTPLUG_CPU
> > +	if (onoff_task)
> > +		set_cpus_allowed_ptr(onoff_task, shuffle_tmp_mask);
> > +#endif /* #ifdef CONFIG_HOTPLUG_CPU */
> > +	if (stall_task)
> > +		set_cpus_allowed_ptr(stall_task, shuffle_tmp_mask);
> > +	if (barrier_cbs_tasks)
> > +		for (i = 0; i < n_barrier_cbs; i++)
> > +			if (barrier_cbs_tasks[i])
> > +				set_cpus_allowed_ptr(barrier_cbs_tasks[i],
> > +						     shuffle_tmp_mask);
> > +	if (barrier_task)
> > +		set_cpus_allowed_ptr(barrier_task, shuffle_tmp_mask);
> 
> The rest of this seems fine.
> 
> - Josh Triplett
> 


      reply	other threads:[~2013-01-29  6:41 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-27  0:04 [PATCH tip/core/rcu 0/4] v2 Documentation and rcutorture changes for 3.9 Paul E. McKenney
2013-01-27  0:05 ` [PATCH tip/core/rcu 1/4] tracing: Export trace_clock_local() Paul E. McKenney
2013-01-27  0:05   ` [PATCH tip/core/rcu 2/4] rcu: Reduce rcutorture tracing Paul E. McKenney
2013-01-27  0:05   ` [PATCH tip/core/rcu 3/4] Documentation: Memory barrier semantics of atomic_xchg() Paul E. McKenney
2013-01-27  0:05   ` [PATCH tip/core/rcu 4/4] rcu: Make rcutorture's shuffler task shuffle recently added tasks Paul E. McKenney
2013-01-27 10:47     ` Josh Triplett
2013-01-29  6:40       ` Paul E. McKenney [this message]

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=20130129064055.GU6395@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=akpm@linux-foundation.org \
    --cc=darren@dvhart.com \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.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@polymtl.ca \
    --cc=mingo@elte.hu \
    --cc=niv@us.ibm.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=sbw@mit.edu \
    --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;
as well as URLs for NNTP newsgroup(s).