Messages in this thread | | | Date | Wed, 31 Aug 2011 14:00:22 -0700 | Subject | Re: Approaches to making io_submit not block | From | Daniel Ehrenberg <> |
| |
On Wed, Aug 31, 2011 at 10:08 AM, Andi Kleen <andi@firstfloor.org> wrote: > Christoph Hellwig <hch@infradead.org> writes: >> >> I'll get it polished up and send it out for RFC once Dave sends out >> the updated allocation workqueue patch. With this he moves all >> allocator calls in XFS into a workqueue. My direct I/O patch uses that >> fact to use that workqueue for the allocator call > > Is that really a good direction? The problem when you push operations > from multiple threads all into a single resource (per cpu workqueue) > is that the CPU scheduler loses control over that because they > are all mixed up. > > So if one guy submits a lot and another very little the "a lot" guy > can overwhelm the queue for the very little guy. > > We also have similar problems with the IO schedulers, which also > rely on process context to make fairness decisions. If you remove > the process context they do badly. > > -Andi > > -- > ak@linux.intel.com -- Speaking for myself only >
This objection would seem to point to the benefits of doing something like Suparna's patches, with a wait queue per task, no? This preserves the current regime where each thread calling io_submit ends up submitting things in parallel.
Dan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |