2008-03-11 01:35:58

by Roel Kluin

[permalink] [raw]
Subject: [PATCH] block/blk-merge.c: inverted likeliness in ll_back_merge_fn()

In my likely profile it appears this one is inverted.
---
Invert likeliness

Signed-off-by: Roel Kluin <[email protected]>
---
diff --git a/block/blk-merge.c b/block/blk-merge.c
index 0f58616..b17777a 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -305,7 +305,7 @@ int ll_back_merge_fn(struct request_queue *q, struct request *req,
}
if (unlikely(!bio_flagged(req->biotail, BIO_SEG_VALID)))
blk_recount_segments(q, req->biotail);
- if (unlikely(!bio_flagged(bio, BIO_SEG_VALID)))
+ if (likely(!bio_flagged(bio, BIO_SEG_VALID)))
blk_recount_segments(q, bio);
len = req->biotail->bi_hw_back_size + bio->bi_hw_front_size;
if (BIOVEC_VIRT_MERGEABLE(__BVEC_END(req->biotail), __BVEC_START(bio))


2008-03-11 06:12:03

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] block/blk-merge.c: inverted likeliness in ll_back_merge_fn()

On Tue, Mar 11 2008, Roel Kluin wrote:
> In my likely profile it appears this one is inverted.

Depends entirely on the workload, it should be removed rather than
inverted.

--
Jens Axboe

2008-03-11 08:18:26

by Roel Kluin

[permalink] [raw]
Subject: Re: [PATCH] block/blk-merge.c: inverted likeliness in ll_back_merge_fn()

Jens Axboe wrote:
> On Tue, Mar 11 2008, Roel Kluin wrote:
>> In my likely profile it appears this one is inverted.
>
> Depends entirely on the workload, it should be removed rather than
> inverted.
>
---
Signed-off-by: Roel Kluin <[email protected]>
---
diff --git a/block/blk-merge.c b/block/blk-merge.c
index 0f58616..7651c3b 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -305,7 +305,7 @@ int ll_back_merge_fn(struct request_queue *q, struct request *req,
}
if (unlikely(!bio_flagged(req->biotail, BIO_SEG_VALID)))
blk_recount_segments(q, req->biotail);
- if (unlikely(!bio_flagged(bio, BIO_SEG_VALID)))
+ if (!bio_flagged(bio, BIO_SEG_VALID))
blk_recount_segments(q, bio);
len = req->biotail->bi_hw_back_size + bio->bi_hw_front_size;
if (BIOVEC_VIRT_MERGEABLE(__BVEC_END(req->biotail), __BVEC_START(bio))