Messages in this thread | | | Date | Wed, 26 Apr 2006 07:20:50 +0200 | From | Jens Axboe <> | Subject | Re: [PATCH] likely cleanup: revert unlikely in ll_back_merge_fn |
| |
On Tue, Apr 25 2006, Hua Zhong wrote: > It seems that new BIOs do not have BIO_SEG_VALID set. So when you do > sequential IO, the IO being back-merged should always have not had > valid segments. > > I ran bonnie++ and it shows the same thing.
But blk_recount_segments() sets the BIO_SEG_VALID flag. Ugh ok __bio_add_page() basically kills the flag. James, I think you are the author of that addition, does it really need to be so restrictive?
/* If we may be able to merge these biovecs, force a recount */ if (bio->bi_vcnt && (BIOVEC_PHYS_MERGEABLE(bvec-1, bvec) || BIOVEC_VIRT_MERGEABLE(bvec-1, bvec))) bio->bi_flags &= ~(1 << BIO_SEG_VALID);
with that in place, we may as well just remove ->bi_phys_segments and ->bi_hw_segments since we'll be calculating the values over and over again while building up a bio.
-- Jens Axboe
- 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/
| |