diff options
author | Jason Evans <jasone@FreeBSD.org> | 2006-05-10 00:07:45 +0000 |
---|---|---|
committer | Jason Evans <jasone@FreeBSD.org> | 2006-05-10 00:07:45 +0000 |
commit | 3212b810d82b92c7d8bb0fa3878d039733b2010b (patch) | |
tree | 9816cdfd9c720eb0462f959dfd0605187dcce5db /lib | |
parent | 4613aa0e99e44143c904f0bb0058cbc130a914e9 (diff) | |
download | src-3212b810d82b92c7d8bb0fa3878d039733b2010b.tar.gz src-3212b810d82b92c7d8bb0fa3878d039733b2010b.zip |
Increase the minimum chunk size by a power of two (32kB --> 64kB, assuming
4kB pages), in order to avoid dangerous rounding error when calculating
fullness limits during run promotion/demotion.
Convert a structure bitfield to a normal field in areana_run_t. This should
have been changed along with the other fields in revision 1.120.
Notes
Notes:
svn path=/head/; revision=158383
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/stdlib/malloc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index 398422c37ad4..f25839f82701 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -521,7 +521,7 @@ struct arena_run_s { unsigned regs_minelm; /* Number of free regions in run. */ - unsigned nfree:(RUN_MIN_REGS_2POW + 2); + unsigned nfree; /* * Current quartile for this run, one of: {RUN_QINIT, RUN_Q0, RUN_25, @@ -3100,7 +3100,7 @@ malloc_init_hard(void) * enough resolution if there are too few * regions for the largest bin size classes. */ - if (opt_chunk_2pow > pagesize_2pow + 3) + if (opt_chunk_2pow > pagesize_2pow + 4) opt_chunk_2pow--; break; case 'K': |