From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>,
Steven Rostedt <rostedt@goodmis.org>,
linux-kernel@vger.kernel.org,
Dipankar Sarma <dipankar@in.ibm.com>
Subject: Re: [PATCH 5/8] rcu: eliminate deadlock for rcu read site
Date: Mon, 12 Aug 2013 08:16:18 -0700 [thread overview]
Message-ID: <20130812151618.GR29406@linux.vnet.ibm.com> (raw)
In-Reply-To: <20130812135544.GG27162@twins.programming.kicks-ass.net>
On Mon, Aug 12, 2013 at 03:55:44PM +0200, Peter Zijlstra wrote:
> On Fri, Aug 09, 2013 at 05:31:27PM +0800, Lai Jiangshan wrote:
> > On 08/09/2013 04:40 AM, Paul E. McKenney wrote:
> > > One problem here -- it may take quite some time for a set_need_resched()
> > > to take effect. This is especially a problem for RCU priority boosting,
> > > but can also needlessly delay preemptible-RCU grace periods because
> > > local_irq_restore() and friends don't check the TIF_NEED_RESCHED bit.
> >
> >
> > The final effect of deboosting(rt_mutex_unlock()) is also accomplished
> > via set_need_resched()/set_tsk_need_resched().
> > set_need_resched() is enough for RCU priority boosting issue here.
>
> But there's a huge difference between the boosting and deboosting side
> of things. rcu_read_unlock_special() starts the boost, the deboosting
> only matters if/when you reschedule.
Or if there is a pre-existing runnable task whose priority is such that
deboosting makes it the highest-priority task.
Thanx, Paul
next prev parent reply other threads:[~2013-08-12 15:17 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-07 10:24 [PATCH 0/8] rcu: Ensure rcu read site is deadlock-immunity Lai Jiangshan
2013-08-07 10:24 ` [PATCH 1/8] rcu: add a warn to rcu_preempt_note_context_switch() Lai Jiangshan
2013-10-30 11:02 ` Paul E. McKenney
2013-08-07 10:24 ` [PATCH 2/8] rcu: remove irq/softirq context check in rcu_read_unlock_special() Lai Jiangshan
2013-10-30 11:18 ` Paul E. McKenney
2013-08-07 10:24 ` [PATCH 3/8] rcu: keep irqs disabled " Lai Jiangshan
2013-08-07 10:25 ` [PATCH 4/8] rcu: delay task rcu state cleanup in exit_rcu() Lai Jiangshan
2013-08-07 10:25 ` [PATCH 5/8] rcu: eliminate deadlock for rcu read site Lai Jiangshan
2013-08-08 20:40 ` Paul E. McKenney
2013-08-09 9:31 ` Lai Jiangshan
2013-08-09 17:58 ` Paul E. McKenney
2013-08-12 13:55 ` Peter Zijlstra
2013-08-12 15:16 ` Paul E. McKenney [this message]
2013-08-12 16:21 ` Peter Zijlstra
2013-08-12 16:44 ` Paul E. McKenney
2013-08-10 3:43 ` Lai Jiangshan
2013-08-10 15:07 ` Paul E. McKenney
2013-08-10 15:08 ` Paul E. McKenney
2013-08-21 3:17 ` Paul E. McKenney
2013-08-21 3:25 ` Lai Jiangshan
2013-08-21 13:42 ` Paul E. McKenney
2013-08-12 13:53 ` Peter Zijlstra
2013-08-12 14:10 ` Steven Rostedt
2013-08-12 14:14 ` Peter Zijlstra
[not found] ` <CACvQF51-oAGkdxwku+orKSQ=SZd1A4saXzkrgcRGi+KnZUZYxQ@mail.gmail.com>
2013-08-22 14:34 ` Steven Rostedt
2013-08-22 14:41 ` Steven Rostedt
2013-08-23 6:26 ` Lai Jiangshan
[not found] ` <CACvQF51kcLrJsa=zBKhLkJfFBh109TW+Zrepm+tRxmEp0gALbQ@mail.gmail.com>
2013-08-25 17:43 ` Paul E. McKenney
2013-08-26 2:39 ` Lai Jiangshan
2013-08-30 2:05 ` Paul E. McKenney
2013-09-05 15:22 ` Steven Rostedt
2013-08-07 10:25 ` [PATCH 6/8] rcu: call rcu_read_unlock_special() in rcu_preempt_check_callbacks() Lai Jiangshan
2013-08-07 10:25 ` [PATCH 7/8] rcu: add # of deferred _special() statistics Lai Jiangshan
2013-08-07 16:42 ` Paul E. McKenney
2013-08-07 10:25 ` [PATCH 8/8] rcu: remove irq work for rsp_wakeup() Lai Jiangshan
2013-08-07 12:38 ` [PATCH 0/8] rcu: Ensure rcu read site is deadlock-immunity Paul E. McKenney
2013-08-07 19:29 ` Carsten Emde
2013-08-07 19:52 ` Paul E. McKenney
2013-08-08 1:17 ` Lai Jiangshan
2013-08-08 0:36 ` Paul E. McKenney
2013-08-08 1:47 ` Lai Jiangshan
2013-08-08 2:12 ` Steven Rostedt
2013-08-08 2:33 ` Lai Jiangshan
2013-08-08 2:33 ` Paul E. McKenney
2013-08-08 3:10 ` Lai Jiangshan
2013-08-08 4:18 ` Paul E. McKenney
2013-08-08 5:27 ` Lai Jiangshan
2013-08-08 7:05 ` Paul E. McKenney
2013-08-08 2:45 ` Lai Jiangshan
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=20130812151618.GR29406@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=dipankar@in.ibm.com \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--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.