From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Josh Triplett <josh@joshtriplett.org>
Cc: linux-kernel@vger.kernel.org, mingo@kernel.org,
jiangshanlai@gmail.com, dipankar@in.ibm.com,
akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
tglx@linutronix.de, peterz@infradead.org, 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 tip/core/rcu 2/8] rcutorture: Dump stack when GP kthread stalls
Date: Sat, 5 Dec 2015 17:45:31 -0800 [thread overview]
Message-ID: <20151206014531.GK28602@linux.vnet.ibm.com> (raw)
In-Reply-To: <20151205005948.GA27128@cloud>
On Fri, Dec 04, 2015 at 04:59:48PM -0800, Josh Triplett wrote:
> On Fri, Dec 04, 2015 at 04:23:46PM -0800, Paul E. McKenney wrote:
> > This commit increases debug information in the case where the grace-period
> > kthread is being prevented from running by dumping that kthread's stack.
>
> That's not everything this patch does; see below.
>
> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > ---
> > kernel/rcu/tree.c | 7 +++++--
> > 1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> > index 81aa1cdc6bc9..7b78c88e19a3 100644
> > --- a/kernel/rcu/tree.c
> > +++ b/kernel/rcu/tree.c
> > @@ -1196,12 +1196,15 @@ static void rcu_check_gp_kthread_starvation(struct rcu_state *rsp)
> >
> > j = jiffies;
> > gpa = READ_ONCE(rsp->gp_activity);
> > - if (j - gpa > 2 * HZ)
> > + if (j - gpa > 2 * HZ) {
> > pr_err("%s kthread starved for %ld jiffies! g%lu c%lu f%#x s%d ->state=%#lx\n",
> > rsp->name, j - gpa,
> > rsp->gpnum, rsp->completed,
> > rsp->gp_flags, rsp->gp_state,
> > - rsp->gp_kthread ? rsp->gp_kthread->state : 0);
> > + rsp->gp_kthread ? rsp->gp_kthread->state : ~0);
>
> The commit message doesn't explain this change. Could you please 1)
> document this change in the commit message, and 2) split it into a
> separate patch unless it directly relates to the other change (which
> doesn't seem like the case)?
Good point, especially given that it took me some time to remember why
that change was necessary. It is now in a separate commit, with a commit
log stating that this disambiguates the case where there is no RCU GP
kthread from the case where there is a TASK_RUNNING RCU GP kthread.
Thanx, Paul
> > + if (rsp->gp_kthread)
> > + sched_show_task(rsp->gp_kthread);
> > + }
> > }
> >
> > /*
> > --
> > 2.5.2
> >
>
next prev parent reply other threads:[~2015-12-06 1:44 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-05 0:23 [PATCH tip/core/rcu 0/8] Torture-test updates for 4.5 Paul E. McKenney
2015-12-05 0:23 ` [PATCH tip/core/rcu 1/8] rcutorture: Add batch number to script printout Paul E. McKenney
2015-12-05 0:23 ` [PATCH tip/core/rcu 2/8] rcutorture: Dump stack when GP kthread stalls Paul E. McKenney
2015-12-05 0:59 ` Josh Triplett
2015-12-06 1:45 ` Paul E. McKenney [this message]
2015-12-05 0:23 ` [PATCH tip/core/rcu 3/8] rcutorture: Default grace period to three minutes, allow override Paul E. McKenney
2015-12-05 0:23 ` [PATCH tip/core/rcu 4/8] rcutorture: Remove CONFIG_RCU_USER_QS from rcutorture selftest doc Paul E. McKenney
2015-12-05 0:23 ` [PATCH tip/core/rcu 5/8] rcutorture: Print symbolic name for rcu_torture_writer_state Paul E. McKenney
2015-12-05 1:02 ` Josh Triplett
2015-12-06 1:46 ` Paul E. McKenney
2015-12-05 0:23 ` [PATCH tip/core/rcu 6/8] rcutorture: Print symbolic name for ->gp_state Paul E. McKenney
2015-12-05 1:04 ` Josh Triplett
2015-12-06 1:54 ` Paul E. McKenney
2015-12-06 1:56 ` Josh Triplett
2015-12-05 0:23 ` [PATCH tip/core/rcu 7/8] torture: Abbreviate console error dump Paul E. McKenney
2015-12-05 0:23 ` [PATCH tip/core/rcu 8/8] torture: Place console.log files correctly from the get-go Paul E. McKenney
2015-12-05 1:05 ` [PATCH tip/core/rcu 0/8] Torture-test updates for 4.5 Josh Triplett
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=20151206014531.GK28602@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=jiangshanlai@gmail.com \
--cc=josh@joshtriplett.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.