Mulyadi Santosa wrote:
Hello...
I think BH are not executed in process context, they are executed
Maybe I am not clear. What I refered by bottom half is the general
mechanism of deferred procedure. So, in this sense, workqueue can be
classified as bottom half. And since workqueue is executed by
keventd/events kernel thread, this means it works on process context.
I hope I clear out the confusion....
when the BH work is done in a workqueue, is it typically the top half that
does the enqueing, or is it usually a BH pump-primer ?
Also (trimmed earlier)
You can see that at the end of do_IRQ() function, we call
do_softirqs(), which actaully call all the active and registered
softirqs and we still are not in process context. softirqs is also BH
like mechanism to defer some work.
Sounds like do_softirqs() is the real BH pump-primer,
and the registered softirq handlers would encqueue the work
close ?
Is there a recommended max for top-half execution time,
instruction count, no-looping, asmlinkage, etc ?
tia
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/