mempool: optimize mempool resizing#1009
Open
blktests-ci[bot] wants to merge 1 commit into
Open
Conversation
Author
|
Upstream branch: bade58e |
7d8604f to
4cc45a3
Compare
Author
|
Upstream branch: 4edcdef |
4cd873d to
f1378d2
Compare
4cc45a3 to
90ffd56
Compare
Resizing mempool to a bigger size currently requires a new allocation and a data copy to a new larger elements array which doesn't go well with the idea of having a fast and deadlock free memory allocations during exreme VM load. This patch introduces a new parameter max_nr for a part of the mempool API, which denotes the maximum size of the pool. With it in place we can avoid any allocations in mempool_resize() since we can either grant the resizing request or reject it basing on thr maximum allowed size of the elements array. For those few users of the mempool API that actually use mempool_resize() it is a clear upgrade because the maximum number of elements is known upfront. Derivative APIs (like mempool_init_kmalloc_pool()) are mostly left intact, substituted by the new mempool_init_kmalloc_resizable_pool() API where the pool is actually meant to be resizable. Signed-off-by: Vitaly Vul <vitaly.vul@partner.samsung.com>
Author
|
Upstream branch: dc59e4f |
f1378d2 to
17f581c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull request for series with
subject: mempool: optimize mempool resizing
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1116713