From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Byungchul Park <byungchul.park@lge.com>
Cc: josh@joshtriplett.org, rostedt@goodmis.org,
mathieu.desnoyers@efficios.com, jiangshanlai@gmail.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] rcu: Force resched_cpu when jiffies >= rcu_state.jiffies_resched
Date: Sat, 26 Nov 2016 04:00:46 -0800 [thread overview]
Message-ID: <20161126120046.GA27434@linux.vnet.ibm.com> (raw)
In-Reply-To: <20161125083426.GC31360@linux.vnet.ibm.com>
On Fri, Nov 25, 2016 at 12:34:26AM -0800, Paul E. McKenney wrote:
> On Tue, Nov 22, 2016 at 05:12:20PM +0900, Byungchul Park wrote:
> > On Wed, Nov 09, 2016 at 03:32:15PM +0900, Byungchul Park wrote:
> > > Currently rcu code forces CPU into scheduler when jiffies >=
> > > rcu_state.gp_start + jiffies_till_sched_qs, via resched_cpu().
> > >
> > > It would be better to force CPU into scheduler when jiffies >=
> > > rcu_state.jiffies_resched, too.
> >
> > Hello,
> >
> > I think these two patches are necessary to call resched_cpu() even in
> > case of jiffies >= rcu_state.jiffies_resched, too. Am I wrong?
> >
> > It would be appriciated if you let me know if I was wrong.
>
> My current thought is that both the "if" statement and the call to
> resched_cpu() should be removed, but I am still testing and working
> through the timing.
>
> Either way, I do very much appreciate your having called my attention
> to this code!
And the patch shown below seems to do the trick. Thoughts?
Thanx, Paul
------------------------------------------------------------------------
commit d2db185bfee894c573faebed93461e9938bdbb61
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date: Fri Nov 25 00:07:23 2016 -0800
rcu: Remove short-term CPU kicking
Commit 4914950aaa12d ("rcu: Stop treating in-kernel CPU-bound workloads
as errors") added a (relatively) short-timeout call to resched_cpu().
This was inspired by as issue that was fixed by b7e7ade34e61 ("sched/core:
Fix remote wakeups"). But given that this issue was fixed, it is time
for the current commit to remove this call to resched_cpu().
Reported-by: Byungchul Park <byungchul.park@lge.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 5f4f80d07852..91a68e4e6671 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1345,12 +1345,6 @@ static int rcu_implicit_dynticks_qs(struct rcu_data *rdp,
rdp->rsp->jiffies_resched += 5; /* Re-enable beating. */
}
- /* And if it has been a really long time, kick the CPU as well. */
- if (ULONG_CMP_GE(jiffies,
- rdp->rsp->gp_start + 2 * jiffies_till_sched_qs) ||
- ULONG_CMP_GE(jiffies, rdp->rsp->gp_start + jiffies_till_sched_qs))
- resched_cpu(rdp->cpu); /* Force CPU into scheduler. */
-
return 0;
}
next prev parent reply other threads:[~2016-11-26 20:42 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-09 6:32 [PATCH 1/2] rcu: Remove unnecessary condition in rcu_implicit_dynticks_qs Byungchul Park
2016-11-09 6:32 ` [PATCH 2/2] rcu: Force resched_cpu when jiffies >= rcu_state.jiffies_resched Byungchul Park
2016-11-22 8:12 ` Byungchul Park
2016-11-25 8:34 ` Paul E. McKenney
2016-11-26 12:00 ` Paul E. McKenney [this message]
2016-11-28 6:46 ` Byungchul Park
2016-11-28 10: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=20161126120046.GA27434@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=byungchul.park@lge.com \
--cc=jiangshanlai@gmail.com \
--cc=josh@joshtriplett.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=rostedt@goodmis.org \
/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.