lkml.org 
[lkml]   [2001]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.4.13pre5aa1
In article <1003470485.913.13.camel@phantasy> Robert Love wrote:
> On Fri, 2001-10-19 at 00:19, Andrea Arcangeli wrote:
>> Only in 2.4.13pre3aa1: 00_files_struct_rcu-2.4.10-04-1
>> Only in 2.4.13pre5aa1: 00_files_struct_rcu-2.4.10-04-2

> I want to point out to preempt-kernel users that RCU is not
> preempt-safe. The implicit locking assumed from per-CPU data structures
> is defeated by preemptibility.

> (Actually, FWIW, I think I can think of ways to make RCU preemptible but
> it would involve changing the write-side quiescent code for the case
> where the pointers were carried over the task switches. Probably not
> worth it.)

I agree. Differentiating between context switches that do or don't
carry over pointers requires several additional complications
that are probably not worth it at this moment.


> This is not to say RCU is worthless with a preemptible kernel, but that
> we need to make it safe (and then make sure it is still a performance
> advantage, but I don't think this would add much overhead). Note this
> is clean, simply wrapping the read code in non-preemption statements.

Yes. The lookup of data protected by RCU should be done with preemption
disabled.

preempt_disable();
traverse linked list or such things protected by RCU.
preempt_enable();

Thanks
Dipankar
--
Dipankar Sarma <dipankar@in.ibm.com> http://lse.sourceforge.net
Linux Technology Center, IBM Software Lab, Bangalore, India.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:08    [W:0.046 / U:1.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site