lkml.org 
[lkml]   [2013]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] rcu: Is it safe to enter an RCU read-side critical section?
On Mon, 9 Sep 2013 06:46:05 -0700
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:


> > Also, if its per-task, why don't we have this in the task struct? The
> > current scheme makes the context switch more expensive -- is this the
> > right trade-off?
>
> There are constraints based on the task, but RCU really is
> paying attention to CPUs, not than tasks. (With the exception of
> TREE_PREEMPT_RCU, which does keep lists of tasks that it has to pay
> attention to, namely those that have been preempted within their current
> RCU read-side critical section.)

Conceptually wise, RCU keeps track of task state, not CPU state. In all
your diagrams in your presentations, where you talk about grace periods
and quiescent states, you show tasks, not CPUs.

RCU's implementation is based on CPUs, and only when rcu_read_lock()
prevents preemption. As you stated above, TREE_PREEMPT_RCU needs to
keep track of tasks.

I think you are too deep into the implementation, that you are
forgetting the concept that you created :-)

-- Steve



\
 
 \ /
  Last update: 2013-09-10 08:01    [W:2.296 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site