Messages in this thread | | | Date | Mon, 25 Aug 2008 10:46:06 -0500 | From | Christoph Lameter <> | Subject | Re: [PATCH 2/2] smp_call_function: use rwlocks on queues rather than rcu |
| |
Peter Zijlstra wrote: > > If we combine these two cases, and flip the counter as soon as we've > enqueued one callback, unless we're already waiting for a grace period > to end - which gives us a longer window to collect callbacks. > > And then the rcu_read_unlock() can do: > > if (dec_and_zero(my_counter) && my_index == dying) > raise_softirq(RCU) > > to fire off the callback stuff. > > /me ponders - there must be something wrong with that... > > Aaah, yes, the dec_and_zero is non trivial due to the fact that its a > distributed counter. Bugger..
Then lets make it per cpu. If we get the cpu ops in then dec_and_zero would be very cheap.
| |