diff --git a/[refs] b/[refs] index 0cb3d6983132..49e7f9fbd240 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b73b459f72f746a031d1ef4cc7659b20a1f1acb9 +refs/heads/master: b0e6e962992b76580f4900b166a337bad7c1e81b diff --git a/trunk/fs/bio.c b/trunk/fs/bio.c index 1f3bb501c262..8f1d2e815c96 100644 --- a/trunk/fs/bio.c +++ b/trunk/fs/bio.c @@ -1243,11 +1243,11 @@ static int __init init_bio(void) 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; - if (bvec_pool_entries > 256) - bvec_pool_entries = 256; + bvec_pool_entries = 1 + scale; fs_bio_set = bioset_create(BIO_POOL_SIZE, bvec_pool_entries, scale); if (!fs_bio_set)