* bio clone submission micro optimizations @ 2022-05-04 14:29 Christoph Hellwig 2022-05-04 14:29 ` [PATCH 1/2] block: remove superfluous calls to blkcg_bio_issue_init Christoph Hellwig 2022-05-04 14:29 ` [PATCH 2/2] block: allow passing a NULL bdev to bio_alloc_clone/bio_init_clone Christoph Hellwig 0 siblings, 2 replies; 6+ messages in thread From: Christoph Hellwig @ 2022-05-04 14:29 UTC (permalink / raw) To: Jens Axboe; +Cc: Mike Snitzer, linux-block Hi Jens, this series has a few minor optimizations forthe bio clone path that should make life a little easier for Mike in dm. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] block: remove superfluous calls to blkcg_bio_issue_init 2022-05-04 14:29 bio clone submission micro optimizations Christoph Hellwig @ 2022-05-04 14:29 ` Christoph Hellwig 2022-05-04 16:19 ` Mike Snitzer 2022-05-05 0:30 ` Jens Axboe 2022-05-04 14:29 ` [PATCH 2/2] block: allow passing a NULL bdev to bio_alloc_clone/bio_init_clone Christoph Hellwig 1 sibling, 2 replies; 6+ messages in thread From: Christoph Hellwig @ 2022-05-04 14:29 UTC (permalink / raw) To: Jens Axboe; +Cc: Mike Snitzer, linux-block blkcg_bio_issue_init is called in submit_bio. There is no need to have extra calls that just get overriden in __bio_clone and the two places that copy and pasted from it. Signed-off-by: Christoph Hellwig <hch@lst.de> --- block/bio.c | 1 - block/blk-crypto-fallback.c | 1 - block/bounce.c | 1 - 3 files changed, 3 deletions(-) diff --git a/block/bio.c b/block/bio.c index 4259125e16ab2..3cffc01e6377f 100644 --- a/block/bio.c +++ b/block/bio.c @@ -739,7 +739,6 @@ static int __bio_clone(struct bio *bio, struct bio *bio_src, gfp_t gfp) bio->bi_iter = bio_src->bi_iter; bio_clone_blkg_association(bio, bio_src); - blkcg_bio_issue_init(bio); if (bio_crypt_clone(bio, bio_src, gfp) < 0) return -ENOMEM; diff --git a/block/blk-crypto-fallback.c b/block/blk-crypto-fallback.c index 7c854584b52b5..5ddf33f999dfe 100644 --- a/block/blk-crypto-fallback.c +++ b/block/blk-crypto-fallback.c @@ -177,7 +177,6 @@ static struct bio *blk_crypto_fallback_clone_bio(struct bio *bio_src) bio->bi_io_vec[bio->bi_vcnt++] = bv; bio_clone_blkg_association(bio, bio_src); - blkcg_bio_issue_init(bio); return bio; } diff --git a/block/bounce.c b/block/bounce.c index 467be46d0e656..8f7b6fe3b4db5 100644 --- a/block/bounce.c +++ b/block/bounce.c @@ -191,7 +191,6 @@ static struct bio *bounce_clone_bio(struct bio *bio_src) goto err_put; bio_clone_blkg_association(bio, bio_src); - blkcg_bio_issue_init(bio); return bio; -- 2.30.2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] block: remove superfluous calls to blkcg_bio_issue_init 2022-05-04 14:29 ` [PATCH 1/2] block: remove superfluous calls to blkcg_bio_issue_init Christoph Hellwig @ 2022-05-04 16:19 ` Mike Snitzer 2022-05-05 0:30 ` Jens Axboe 1 sibling, 0 replies; 6+ messages in thread From: Mike Snitzer @ 2022-05-04 16:19 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Jens Axboe, linux-block On Wed, May 04 2022 at 10:29P -0400, Christoph Hellwig <hch@lst.de> wrote: > blkcg_bio_issue_init is called in submit_bio. There is no need to have > extra calls that just get overriden in __bio_clone and the two places > that copy and pasted from it. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Mike Snitzer <snitzer@kernel.org> ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] block: remove superfluous calls to blkcg_bio_issue_init 2022-05-04 14:29 ` [PATCH 1/2] block: remove superfluous calls to blkcg_bio_issue_init Christoph Hellwig 2022-05-04 16:19 ` Mike Snitzer @ 2022-05-05 0:30 ` Jens Axboe 1 sibling, 0 replies; 6+ messages in thread From: Jens Axboe @ 2022-05-05 0:30 UTC (permalink / raw) To: Christoph Hellwig; +Cc: linux-block, snitzer On Wed, 4 May 2022 07:29:49 -0700, Christoph Hellwig wrote: > blkcg_bio_issue_init is called in submit_bio. There is no need to have > extra calls that just get overriden in __bio_clone and the two places > that copy and pasted from it. > > Applied, thanks! [1/2] block: remove superfluous calls to blkcg_bio_issue_init commit: 513616843d736fb7161b4460cdfe5aa825c5902c [2/2] block: allow passing a NULL bdev to bio_alloc_clone/bio_init_clone commit: 7ecc56c62b27d93838ee67fc2c7a1c3c480aea04 Best regards, -- Jens Axboe ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] block: allow passing a NULL bdev to bio_alloc_clone/bio_init_clone 2022-05-04 14:29 bio clone submission micro optimizations Christoph Hellwig 2022-05-04 14:29 ` [PATCH 1/2] block: remove superfluous calls to blkcg_bio_issue_init Christoph Hellwig @ 2022-05-04 14:29 ` Christoph Hellwig 2022-05-04 16:20 ` Mike Snitzer 1 sibling, 1 reply; 6+ messages in thread From: Christoph Hellwig @ 2022-05-04 14:29 UTC (permalink / raw) To: Jens Axboe; +Cc: Mike Snitzer, linux-block Device mapper wants to allocate a bio before knowing the device it gets send to, so add explicit support for that. Signed-off-by: Christoph Hellwig <hch@lst.de> --- block/bio.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/block/bio.c b/block/bio.c index 3cffc01e6377f..23a6838cb97e0 100644 --- a/block/bio.c +++ b/block/bio.c @@ -732,13 +732,15 @@ static int __bio_clone(struct bio *bio, struct bio *bio_src, gfp_t gfp) bio_set_flag(bio, BIO_CLONED); if (bio_flagged(bio_src, BIO_THROTTLED)) bio_set_flag(bio, BIO_THROTTLED); - if (bio->bi_bdev == bio_src->bi_bdev && - bio_flagged(bio_src, BIO_REMAPPED)) - bio_set_flag(bio, BIO_REMAPPED); bio->bi_ioprio = bio_src->bi_ioprio; bio->bi_iter = bio_src->bi_iter; - bio_clone_blkg_association(bio, bio_src); + if (bio->bi_bdev) { + if (bio->bi_bdev == bio_src->bi_bdev && + bio_flagged(bio_src, BIO_REMAPPED)) + bio_set_flag(bio, BIO_REMAPPED); + bio_clone_blkg_association(bio, bio_src); + } if (bio_crypt_clone(bio, bio_src, gfp) < 0) return -ENOMEM; -- 2.30.2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] block: allow passing a NULL bdev to bio_alloc_clone/bio_init_clone 2022-05-04 14:29 ` [PATCH 2/2] block: allow passing a NULL bdev to bio_alloc_clone/bio_init_clone Christoph Hellwig @ 2022-05-04 16:20 ` Mike Snitzer 0 siblings, 0 replies; 6+ messages in thread From: Mike Snitzer @ 2022-05-04 16:20 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Jens Axboe, linux-block On Wed, May 04 2022 at 10:29P -0400, Christoph Hellwig <hch@lst.de> wrote: > Device mapper wants to allocate a bio before knowing the device it > gets send to, so add explicit support for that. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Mike Snitzer <snitzer@kernel.org> Thanks ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-05-05 0:30 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-05-04 14:29 bio clone submission micro optimizations Christoph Hellwig 2022-05-04 14:29 ` [PATCH 1/2] block: remove superfluous calls to blkcg_bio_issue_init Christoph Hellwig 2022-05-04 16:19 ` Mike Snitzer 2022-05-05 0:30 ` Jens Axboe 2022-05-04 14:29 ` [PATCH 2/2] block: allow passing a NULL bdev to bio_alloc_clone/bio_init_clone Christoph Hellwig 2022-05-04 16:20 ` Mike Snitzer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox