Messages in this thread |  | | Date | Fri, 19 Oct 2001 12:44:37 +0530 | From | Dipankar Sarma <> | Subject | Re: 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/
|  |