-
Notifications
You must be signed in to change notification settings - Fork 0
block: add a bio_reuse helper #454
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: linus-master_base
Are you sure you want to change the base?
Conversation
|
Upstream branch: aacb0a6 |
0ab4e8c to
a2a6d78
Compare
|
Upstream branch: aacb0a6 |
7c448f8 to
a60109f
Compare
a2a6d78 to
f962a4d
Compare
|
Upstream branch: 623fb99 |
a60109f to
db38d30
Compare
|
Upstream branch: 623fb99 |
db38d30 to
e5ec569
Compare
|
Upstream branch: 623fb99 |
e5ec569 to
0330b4e
Compare
|
Upstream branch: 623fb99 |
0330b4e to
d78ee46
Compare
|
Upstream branch: 623fb99 |
d78ee46 to
4876639
Compare
|
Upstream branch: 623fb99 |
4876639 to
91aac13
Compare
|
Upstream branch: 623fb99 |
91aac13 to
a4f560c
Compare
f962a4d to
06634b5
Compare
|
Upstream branch: b543459 |
a4f560c to
51134f6
Compare
|
Upstream branch: b543459 |
51134f6 to
77d485d
Compare
|
Upstream branch: b543459 |
77d485d to
9534701
Compare
06634b5 to
8a473ad
Compare
|
Upstream branch: 944aacb |
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]>
9534701 to
615926f
Compare
Pull request for series with
subject: block: add a bio_reuse helper
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1038846