diff options
author | Mike Snitzer <snitzer@redhat.com> | 2011-08-02 12:32:08 +0100 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2011-08-02 12:32:08 +0100 |
commit | ed8b752bccf2560e305e25125721d2f0ac759e88 (patch) | |
tree | b909fcf21ca7cdda3e7a680b37162212cce99586 /drivers/md/dm.c | |
parent | 772ae5f54d69c38a5e3c4352c5fdbdaff141af21 (diff) | |
download | lwn-ed8b752bccf2560e305e25125721d2f0ac759e88.tar.gz lwn-ed8b752bccf2560e305e25125721d2f0ac759e88.zip |
dm table: set flush capability based on underlying devices
DM has always advertised both REQ_FLUSH and REQ_FUA flush capabilities
regardless of whether or not a given DM device's underlying devices
also advertised a need for them.
Block's flush-merge changes from 2.6.39 have proven to be more costly
for DM devices. Performance regressions have been reported even when
DM's underlying devices do not advertise that they have a write cache.
Fix the performance regressions by configuring a DM device's flushing
capabilities based on those of the underlying devices' capabilities.
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md/dm.c')
-rw-r--r-- | drivers/md/dm.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 1000eaf984ef..52b39f335bb3 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -1808,7 +1808,6 @@ static void dm_init_md_queue(struct mapped_device *md) blk_queue_make_request(md->queue, dm_request); blk_queue_bounce_limit(md->queue, BLK_BOUNCE_ANY); blk_queue_merge_bvec(md->queue, dm_merge_bvec); - blk_queue_flush(md->queue, REQ_FLUSH | REQ_FUA); } /* |