提交 b0e6e962 编写于 作者: B Benjamin LaHaise 提交者: Linus Torvalds

[PATCH] reduce size of bio mempools

The biovec default mempool limit of 256 entries results in over 3MB of RAM
being permanently pinned, even on systems with only 128MB of RAM.  Since
mempool tries to allocate from the system pool first, it makes sense to
reduce the size of the mempool fallbacks to a more reasonable limit of 1-5
entries -- enough for the system to be able to make progress even under
load.
Signed-off-by: NBenjamin LaHaise <bcrl@kvack.org>
Acked-by: NJens Axboe <axboe@suse.de>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 b73b459f
...@@ -1243,11 +1243,11 @@ static int __init init_bio(void) ...@@ -1243,11 +1243,11 @@ static int __init init_bio(void)
scale = 4; scale = 4;
/* /*
* scale number of entries * Limit number of entries reserved -- mempools are only used when
* the system is completely unable to allocate memory, so we only
* need enough to make progress.
*/ */
bvec_pool_entries = megabytes * 2; bvec_pool_entries = 1 + scale;
if (bvec_pool_entries > 256)
bvec_pool_entries = 256;
fs_bio_set = bioset_create(BIO_POOL_SIZE, bvec_pool_entries, scale); fs_bio_set = bioset_create(BIO_POOL_SIZE, bvec_pool_entries, scale);
if (!fs_bio_set) if (!fs_bio_set)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册