[PATCH] reduce size of bio mempools

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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: Benjamin LaHaise <[email protected]>
diff --git a/fs/bio.c b/fs/bio.c
index 460554b..4944009 100644
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -1198,11 +1198,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)
-- 
"You know, I've seen some crystals do some pretty trippy shit, man."
Don't Email: <[email protected]>.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux