Prev: 2.6.34: simple IOMMU API extension to check safe interrupt remapping
Next: reiserfs locking (v2)
From: Tejun Heo on 2 Jul 2010 05:40 On 07/02/2010 11:17 AM, Tejun Heo wrote: > Hello, David, Arjan. > > These four patches implement unbound workqueues which can be used as > simple execution context provider. I changed async to use it and will > also make fscache use it. This can be used by setting WQ_UNBOUND on > workqueue creation. Works queued to unbound workqueues are implicitly > HIGHPRI and dispatched to unbound workers as soon as resources are > available and the only limitation applied by workqueue code is > @max_active. IOW, for both async and fscache, things will stay about > the same. > > WQ_UNBOUND can serve the role of WQ_SINGLE_CPU. WQ_SINGLE_CPU is > dropped and replaced by WQ_UNBOUND. > > Arjan, I still think we'll be better off using bound workqueues for > async but let's first convert without causing behavior difference. > Either way isn't gonna result in any noticeable difference anyway. If > you're okay with the conversion, please ack it. > > David, this should work for fscache/slow-work the same way too. That > should relieve your concern, right? Oh, and Frederic suggested that > we would be better off with something based on tracing API and I > agree, so the debugfs thing is currently dropped from the tree. What > do you think? Oops, forgot something. These four patches are on top of wq#for-next-candidate branch which is cmwq take#6 + four fix patches git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-next-candidate and available in the following git tree. git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git review-cmwq Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Tejun Heo on 7 Jul 2010 01:50 On 07/02/2010 11:17 AM, Tejun Heo wrote: > Arjan, I still think we'll be better off using bound workqueues for > async but let's first convert without causing behavior difference. > Either way isn't gonna result in any noticeable difference anyway. If > you're okay with the conversion, please ack it. Ping, Arjan. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Tejun Heo on 14 Jul 2010 05:50 Hello, On 07/07/2010 07:41 AM, Tejun Heo wrote: > On 07/02/2010 11:17 AM, Tejun Heo wrote: >> Arjan, I still think we'll be better off using bound workqueues for >> async but let's first convert without causing behavior difference. >> Either way isn't gonna result in any noticeable difference anyway. If >> you're okay with the conversion, please ack it. > > Ping, Arjan. Just for the record, I pinged Arjan again offlist and Arjan acked the conversion in the reply. Added Acked-by and pushed the conversion to for-next-candidate which will be pushed into linux-next the next week. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: David Howells on 20 Jul 2010 18:10 Tejun Heo <tj(a)kernel.org> wrote: > David, this should work for fscache/slow-work the same way too. That > should relieve your concern, right? Not at the moment. What does this mean: * Unbound workqueues aren't concurrency managed and should be * dispatched to workers immediately. Does this mean you don't get reentrancy guarantees with unbounded work queues? I can't work out how you're achieving it with unbounded queues. I presume with CPU-bound workqueues your doing it by binding the work item to the current CPU still... Btw, how does this fare in an RT system, where work items bound to a CPU can't get executed because their CPU is busy with an RT thread, even though there are other, idle CPUs? > Oh, and Frederic suggested that we would be better off with something based > on tracing API and I agree, so the debugfs thing is currently dropped from > the tree. What do you think? I probably disagree. I just want to be able to cat a file and see the current runqueue state. I don't want to have to write and distribute a special program to do this. Of course, I don't know that much about the tracing API, so cat'ing a file to get the runqueue listed nicely may be possible with that. David -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Tejun Heo on 20 Jul 2010 18:50 Hello, David. "David Howells" <dhowells(a)redhat.com> wrote: > Does this mean you don't get reentrancy guarantees with unbounded work queues? It means that unbound wq behaves like a generic worker pool. Bound wq limits concurrency to minimal level but unbound one executes works as long as resources are available. I'll continue below. >I can't work out how you're achieving it with unbounded queues. I presume with >CPU-bound workqueues your doing it by binding the work item to the current CPU >still... Unbound works are served by a dedicated gcwq whose workers are not affine to any particular CPU. As all unbound works are served by the same gcwq, non reentrancy is automatically guaranteed. >Btw, how does this fare in an RT system, where work items bound to a CPU can't >get executed because their CPU is busy with an RT thread, even though there are >other, idle CPUs? Sure, there's nothing special about unbound workers. They're just normal kthreads. >> Oh, and Frederic suggested that we would be better off with something based >> on tracing API and I agree, so the debugfs thing is currently dropped from >> the tree. What do you think? > >I probably disagree. I just want to be able to cat a file and see the current >runqueue state. I don't want to have to write and distribute a special program >to do this. Of course, I don't know that much about the tracing API, so >cat'ing a file to get the runqueue listed nicely may be possible with that. I'm relatively sure we can do that. Frederic? Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Next
|
Last
Pages: 1 2 3 Prev: 2.6.34: simple IOMMU API extension to check safe interrupt remapping Next: reiserfs locking (v2) |