Skip to content

Conversation

@blktests-ci
Copy link

@blktests-ci blktests-ci bot commented Jan 17, 2026

Pull request for series with
subject: block: add a bio_reuse helper
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1042314

Christoph Hellwig added 3 commits January 17, 2026 16:12
Add a helper to allow an existing bio to be resubmitted without
having to re-add the payload.

Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Jens Axboe <[email protected]>
Reviewed-by: Hans Holmberg <[email protected]>
Reviewed-by: Carlos Maiolino <[email protected]>
Reviewed-by: Damien Le Moal <[email protected]>
Reviewed-by: "Darrick J. Wong" <[email protected]>
Replace our somewhat fragile code to reuse the bio, which caused a
regression in the past with the block layer bio_reuse helper.

Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Hans Holmberg <[email protected]>
Reviewed-by: Carlos Maiolino <[email protected]>
Reviewed-by: Damien Le Moal <[email protected]>
Reviewed-by: "Darrick J. Wong" <[email protected]>
The double buffering where just one scratch area is used at a time does
not efficiently use the available memory.  It was originally implemented
when GC I/O could happen out of order, but that was removed before
upstream submission to avoid fragmentation.  Now that all GC I/Os are
processed in order, just use a number of buffers as a simple ring buffer.

For a synthetic benchmark that fills 256MiB HDD zones and punches out
holes to free half the space this leads to a decrease of GC time by
a little more than 25%.

Thanks to Hans Holmberg <[email protected]> for testing and
benchmarking.

Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Hans Holmberg <[email protected]>
Reviewed-by: Carlos Maiolino <[email protected]>
Reviewed-by: Damien Le Moal <[email protected]>
Reviewed-by: "Darrick J. Wong" <[email protected]>
@blktests-ci
Copy link
Author

blktests-ci bot commented Jan 17, 2026

Upstream branch: 2c3ccdb
series: https://patchwork.kernel.org/project/linux-block/list/?series=1042314
version: 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant