On Mon, 19 Apr 2004, David Gibson wrote:
> > That's the same as our kcompat.h. It's not real work queues. You
> > cannot sleep in them.
>
> Err... I think you're mistaken there. I started using task queues
> precisely so that I could sleep.
You are right. I tested sleeping in orinoco_reset() in Linux 2.4.26, and
it worked fine. in_irq() and in_softirq() were both 0. I believe the
only significant difference is that the workqueue is processed in per-CPU
threads (event/cpuN) whereas the task queue is processed by a single
kernel thread (keventd).
I've posted a comment on LWN just in case someone else is mislead by that
article: http://lwn.net/Articles/23634/
run_task_queue() would run the queue in the context of the caller. If
it's needed on the embedded system mentioned by Steven, perhaps keventd is
not functional there.
> > I have never used tasklets. I'm afraid you'll have to ask someone else.
> > I don't want to be a Google proxy for you :-)
>
> Tasklets and task queues are entirely different things..
Now I agree.
--
Regards,
Pavel Roskin
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
|