2013-10-30 02:42:18

by majianpeng

[permalink] [raw]
Subject: [PATCH 2/3] block: Check bio can merge before call attempt_plug_merge.

Signed-off-by: Jianpeng Ma <[email protected]>
---
block/blk-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/blk-core.c b/block/blk-core.c
index 0a00e4e..fb970fd 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1492,7 +1492,7 @@ void blk_queue_bio(struct request_queue *q, struct bio *bio)
* Check if we can merge with the plugged list before grabbing
* any locks.
*/
- if (attempt_plug_merge(q, bio, &request_count))
+ if (likely(bio_mergeable(bio)) && attempt_plug_merge(q, bio, &request_count))
return;

spin_lock_irq(q->queue_lock);
--
1.8.4????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?