-
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
Add a helper to allow an existing bio to be resubmitted without having to re-add the payload. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jens Axboe <axboe@kernel.dk> Reviewed-by: Hans Holmberg <hans.holmberg@wdc.com> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
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 <hch@lst.de> Reviewed-by: Hans Holmberg <hans.holmberg@wdc.com> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
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 <hans.holmberg@wdc.com> for testing and benchmarking. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hans Holmberg <hans.holmberg@wdc.com> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
|
Upstream branch: b543459 |
77d485d to
9534701
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