Messages in this thread | | | Subject | Re: Overview of concurrency managed workqueue | From | Daniel Walker <> | Date | Wed, 16 Jun 2010 06:27:05 -0700 |
| |
On Wed, 2010-06-16 at 14:10 +0200, Tejun Heo wrote: > Hello, > > On 06/15/2010 09:43 PM, Daniel Walker wrote: > > I noticed that you removed the RT workqueue since it's no longer used, > > but it's possible that a user can raise the priority of a given work > > queue thread into real time priorities. So with single threaded, and > > multithreaded workqueues specific to certain areas of the kernel the > > user would have a greater ability to control priorities of those areas. > > > > It looks like with your patches it would remove that level of > > flexability effectively making all the work item the same priority with > > no ability to raise or lower .. Is that accurate ? > > Yes, that is. With new cmwq, a wq can't assume association with > specific kthread and thus can't use wq as simple frontend to kthreads, > but if somebody wants dedicated kthreads instead of shared ones in > units of work, [s]he should be using kthread.
I'm not talking about coders using workqueues when they should be using kthreads .. We're talking about currently existing workqueues. Aren't you converting all _current_ workqueues to your system?
> wq does provide nicer tools for synchronization but in general I don't > think using kthread is too hard and there aren't too many cases > anyway. If there are many users && kthread is difficult to use > directly, we can definitely write up a wrapping layer tho. But I > really think using wq as wrapper around kthreads and manipulating > worker thread directly is an abusement.
It would be a hack the user would have to patch onto there kernel in order to get back functionality your taking away.
I think from your perspective workqueue threads are all used for "concurrency management" only, but I don't think that's true. Some will be user for prioritization (I'm talking about _current_ workqueues).
Could you address or ponder how the work items could be prioritized under your system?
Daniel
| |