summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorjasone <jasone@FreeBSD.org>2006-05-10 00:07:45 +0000
committerjasone <jasone@FreeBSD.org>2006-05-10 00:07:45 +0000
commit2ed3ff7341747b11269845a68781705323d19694 (patch)
tree9816cdfd9c720eb0462f959dfd0605187dcce5db /lib
parentc0a3325a9b4abc5ab370a1bcad5c2981d0e65afc (diff)
downloadFreeBSD-src-2ed3ff7341747b11269845a68781705323d19694.zip
FreeBSD-src-2ed3ff7341747b11269845a68781705323d19694.tar.gz
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.
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/stdlib/malloc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c
index 398422c..f25839f 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':
OpenPOWER on IntegriCloud