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