Re: [PATCH 17/21] workqueue: simple reimplementation of SINGLE_THREAD workqueue

Tejun Heo
2009-11-17T16:13:47Z

Hello, Linus.

11/18/2009 12:05 AM, Linus Torvalds wrote:
>> Do you think that usage is wide-spread? Implementing strict ordering
>> shouldn't be too difficult but I can't help but feeling that such
>> assumption is abuse of implementation detail.
>
> I think it would be good if it were more than an implementation detail,
> and was something documented and known.
>
> The less random and timing-dependent our interfaces are, the better off we
> are. Guaranteeing that a single-threaded workqueue is done in order seems
> to me to be a GoodThing(tm), regardless of whether much code depends on
> it.
>
> Of course, if there is some fundamental reason why it wouldn't be the
> case, that's another thing. But if you think uit should be easy, and since
> there _are_ users, then it shouldn't be seen as an "implementation
> detail". It's a feature.

I might have been too early with the 'easy' part but I definitely can
give it a shot. What do you think about the scheduler notifier
implementation? It seems we'll end up with three callbacks. It can
either be three hlist_heads in the struct_task linking each ops or
single hilst_head links ops tables (like the current preempt
notifiers). Which one should I go with?

Thanks.

--
tejun