Re: [PATCH 35/40] fscache: convert object to use workqueue instead of slow-work

Tejun Heo
2010-02-18T12:28:34Z

Hello, David.

On 02/18/2010 08:50 PM, David Howells wrote:
> Tejun Heo <tj@kernel.org> wrote:
>> The waiting workers are woken up in slow_work_enqueue() when a new
>> work is enqueued regardless of how many workers are currently in use,
>> right? So, it ends up yielding on any queue activity rather than only
>> under resource pressure.
>
> It depends how you define resource pressure, I suppose. There's someone now
> waiting for the resource, and there's someone blocking that resource who can
> yield it as they're waiting on something else. The question is if it's
> cheaper to create a new thread, assuming we're under the limit, or if it's
> cheaper to steal someone else's thread?

Initially I was thinking about adding the hook to global cmwq events
in which case yielding on queueing wouldn't make much sense as it will
always yield very quickly. I'll think more about it but will try to
preserve the current behavior. I'll go ahead and update the patchset.

Thanks for reviewing.

--
tejun