Subject: Re: timedwork
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Iain Hibbert <plunky@rya-online.net>
List: tech-kern
Date: 01/15/2007 09:18:10
On Sat, 13 Jan 2007, Iain Hibbert wrote:

> On Sat, 13 Jan 2007, YAMAMOTO Takashi wrote:
>
> > once callout_setwork() is called on a callout,
> > callout_schedule() is only legal operation on the callout.
>
> callout_schedule() cannot be called multiple times, either..

I think that these issues would go away, if callout managed its own
kthread, instead of utilising workqueue to do that?

(So, hang the callout on a callout CIRCQ instead of work queue)

I see another issue though, in that if you want a callout in a thread, it
still does not mean you can take locks or do IO, because sleeping would
block the callout kthread.

I wonder if it would be better if the caller was responsible for their own
workqueue, but you could mark the callout as a workqueue/work to be queued
instead of a function/arg to be called?

iain