Re: [PATCH 06/19] acpi: use queue_work_on() instead of binding workqueue worker to cpu0

Tejun Heo
2009-10-01T17:08:39Z

David Howells wrote:
> Tejun Heo <tj@kernel.org> wrote:
>
>> - kacpid_wq = create_singlethread_workqueue("kacpid");
>> - bind_workqueue(kacpid_wq);
>> - kacpi_notify_wq = create_singlethread_workqueue("kacpi_notify");
>> - bind_workqueue(kacpi_notify_wq);
>> - kacpi_hotplug_wq = create_singlethread_workqueue("kacpi_hotplug");
>> - bind_workqueue(kacpi_hotplug_wq);
>> + kacpid_wq = create_workqueue("kacpid");
>> + kacpi_notify_wq = create_workqueue("kacpi_notify");
>> + kacpi_hotplug_wq = create_workqueue("kacpi_hotplug");
>
> Doesn't that then create one worker thread per CPU and then eschew all but
> those attached to CPU 0? Sounds excessive, but presumably you deal with that
> in later patches.

Yeah, I'm just trying to strip down odd usages to ease conversion to
new mechanism, so between this patch and the actual new workqueue
implementation there will be whole lot of unused kthreads. After the
new workqueue, they automatically disappear. Also, the above can be
cleaned up such that only one of the workqueues remains afterwards.

Thanks.

--
tejun