svn commit: r258337 - head/sys/vm

Alexander Motin mav at FreeBSD.org
Tue Nov 19 10:10:44 UTC 2013


Author: mav
Date: Tue Nov 19 10:10:44 2013
New Revision: 258337
URL: http://svnweb.freebsd.org/changeset/base/258337

Log:
  Add two new UMA bucket zones to store 3 and 9 items per bucket.
  
  These new buckets make bucket size self-tuning more soft and precise.
  Without them there are buckets for 1, 5, 13, 29, ... items.  While at
  bigger sizes difference about 2x is fine, at smallest ones it is 5x and
  2.6x respectively.  New buckets make that line look like 1, 3, 5, 9, 13,
  29, reducing jumps between steps, making algorithm work softer, allocating
  and freeing memory in better fitting chunks.  Otherwise there is quite a
  big gap between allocating 128K and 5x128K of RAM at once.

Modified:
  head/sys/vm/uma_core.c

Modified: head/sys/vm/uma_core.c
==============================================================================
--- head/sys/vm/uma_core.c	Tue Nov 19 10:05:53 2013	(r258336)
+++ head/sys/vm/uma_core.c	Tue Nov 19 10:10:44 2013	(r258337)
@@ -207,7 +207,9 @@ struct uma_bucket_zone {
 
 struct uma_bucket_zone bucket_zones[] = {
 	{ NULL, "4 Bucket", BUCKET_SIZE(4), 4096 },
+	{ NULL, "6 Bucket", BUCKET_SIZE(6), 3072 },
 	{ NULL, "8 Bucket", BUCKET_SIZE(8), 2048 },
+	{ NULL, "12 Bucket", BUCKET_SIZE(12), 1536 },
 	{ NULL, "16 Bucket", BUCKET_SIZE(16), 1024 },
 	{ NULL, "32 Bucket", BUCKET_SIZE(32), 512 },
 	{ NULL, "64 Bucket", BUCKET_SIZE(64), 256 },


More information about the svn-src-all mailing list