At OLS, we presented some data on latency and overhead for
different approaches to RCU. After some discussions with Andrea and Rusty,
it seemed that it is a good idea to use this and come out with
a patch. So here is a new patch. The main features are -
1. Based on rcu_poll which is already in production kernels (SuSE)
and has low latency of grace period.
2. In order to reduce overheads, I added per-CPU queue support to
it.
3. Works in preemptive kernel environment by either requiring
the use of rcu_read_lock/unlock or using call_rcu_preempt().
4. synchronize_kernel() uses call_rcu_preempt() which requires
no disabling of preemption on read-side making it useful for
things like CPU hotplug.
5. Added docbook tags in headers.
Future plans are -
1. More overhead and latency measurements and tweaking around if
necessary. But for infrequent things like CPU hotplug, this
is not important.
2. Cleanups/bugfixes etc.
Comments, suggestions and even flames are welcome.
Thanks
-- Dipankar Sarma <dipankar@in.ibm.com> http://lse.sourceforge.net Linux Technology Center, IBM Software Lab, Bangalore, India.
This archive was generated by hypermail 2b29 : Mon Jul 15 2002 - 22:00:24 EST