Messages in this thread | | | Date | Mon, 16 Feb 2009 22:22:21 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH 1/4] generic-smp: remove single ipi fallback for smp_call_function_many() |
| |
On 02/16, Peter Zijlstra wrote: > > On Mon, 2009-02-16 at 21:30 +0100, Oleg Nesterov wrote: > > > > Yes I see. But if we change generic_smp_call_function_interrupt() to > > re-check cpumask_test_cpu(cpu, data->cpumask) under data->lock then > > we don't have to wait for quiescent state, afaics. And we have to > > take this lock anyway. > > Suppose entries A,B,C,D are queued, and some cpu1 is traversing the list > to execute C and is currently at B waiting for data->lock. Concurrently > cpu2 has completed B and removes it from the list, when cpu3 takes B and > inserts it at the end.
Ah indeed, I see. Thanks Peter.
Oleg.
| |