Re: [Cluster-devel] [PATCH 2/2][v2] blk-plug: don't flush nested plug lists

2015-04-10 Thread Jeff Moyer
Dave Chinner writes: > On Tue, Apr 07, 2015 at 02:55:13PM -0400, Jeff Moyer wrote: >> The way the on-stack plugging currently works, each nesting level >> flushes its own list of I/Os. This can be less than optimal (read >> awful) for certain workloads. For example, consider an application >> t

Re: [Cluster-devel] [PATCH 2/2][v2] blk-plug: don't flush nested plug lists

2015-04-08 Thread Dave Chinner
[ Sending again with a trimmed CC list to just the lists. Jeff - cc lists that large get blocked by mailing lists... ] On Tue, Apr 07, 2015 at 02:55:13PM -0400, Jeff Moyer wrote: > The way the on-stack plugging currently works, each nesting level > flushes its own list of I/Os. This can be less t

Re: [Cluster-devel] [PATCH 2/2][v2] blk-plug: don't flush nested plug lists

2015-04-08 Thread Dave Chinner
On Tue, Apr 07, 2015 at 02:55:13PM -0400, Jeff Moyer wrote: > The way the on-stack plugging currently works, each nesting level > flushes its own list of I/Os. This can be less than optimal (read > awful) for certain workloads. For example, consider an application > that issues asynchronous O_DIR

[Cluster-devel] [PATCH 2/2][v2] blk-plug: don't flush nested plug lists

2015-04-08 Thread Jeff Moyer
The way the on-stack plugging currently works, each nesting level flushes its own list of I/Os. This can be less than optimal (read awful) for certain workloads. For example, consider an application that issues asynchronous O_DIRECT I/Os. It can send down a bunch of I/Os together in a single io_

Re: [Cluster-devel] [PATCH 2/2][v2] blk-plug: don't flush nested plug lists

2015-04-08 Thread Christoph Hellwig
This looks good, but without the blk_finish_plug argument we're bound to grow programming mistakes where people forget it. Any chance we could have annotations similar to say rcu_read_lock/rcu_read_unlock or the spinlocks so that sparse warns about it?