Messages in this thread |  | | | Date | Tue, 16 Sep 2008 19:48:00 +0200 | | From | Manfred Spraul <> | | Subject | Re: [PATCH, RFC] v4 scalable classic RCU implementation | |
Paul E. McKenney wrote:
>
>> That means an O(NR_CPUS) loop with disabled local interrupts :-(
>> Is that correct?
>>
>
> With the definition of "O()" being the worst-case execution time, yes.
> But this worst case could only happen when the system was mostly idle,
> in which case the added overhead should not be too horribly bad.
No: "was mostly running cpu_idle()". A cpu_idle() cpu could execute lots
of irqs and softirqs.
So the worst case would be a system with 1 cpu/node for reserved for irq
handling.
The "idle" cpu would be always in no_hz mode, even though it might be
100% busy handling irqs.
The remaning cpus might be 100% busy handling user space.
And every quiescent state will end up in that O(NR_CPUS) loop.
--
Manfred
|  |