Re: [RFC PATCH 5/6] implement per-cpu&per-domain state machine call_srcu()

From: Lai Jiangshan
Date: Wed Mar 07 2012 - 01:39:27 EST


On 03/06/2012 11:32 PM, Peter Zijlstra wrote:
> On Tue, 2012-03-06 at 22:44 +0800, Lai Jiangshan wrote:
>> it is srcu_barrier(), it have to wait all callbacks complete for all
>> cpus since it is per-cpu
>> implementation.
>>
> If you enqueue each callback as a work, flush_workqueue() alone should
> do that. It'll wait for completion of all currently enqueued works but
> ignores new works.

Callbacks are not queued in the workqueue when call_srcu().
They are delivered(queued in the workqueue) after a grace period,
so we need to wait for all are delivered before flush_workqueue().

>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/