Thread (6 messages) 6 messages, 4 authors, 2015-02-11

workqueues - how to use them correctly

From: Roshan A <hidden>
Date: 2015-02-10 20:21:42

On Tue, Feb 10, 2015 at 9:24 AM, Anish Kumar
[off-list ref] wrote:


quoted
On Feb 10, 2015, at 12:50 AM, Roshan A [off-list ref] wrote:

hi all,

My question is regarding the correct use of workqueues. I have a
driver which queues a work item in the interrupt handler. The bottom
half function ( the workitem -function ) does have proper locking (
mutex ) in place for atomicity.
Post the code snippet and why are you using
Mutex? If you want to synchronize between
Interrupt handler and workqueue then you should
use spinlocks.
To clarify : the critical section is in the workitem-function. There
is no sharing between the interrupt handler and the bottom half.

quoted
With this setup, since the interrupts are enabled, it's possible to
have a scenario where, when one workitem is being executed, another
can be queued up, which results in the workitems being executed in
parallel, however since there is a mutex, one thread will sleep.
And precisely the reason not to use mutex locks.
quoted
is this particular scenario considered bad or discouraged ?
Now what do you think?
quoted
Thank you,
-Roshan

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help