summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorotto <>2016-10-28 17:03:22 +0000
committerotto <>2016-10-28 17:03:22 +0000
commitb188f636e99f95bde06f84b8f0803d5754440ccf (patch)
tree89b82d18009aefe58d27dbeaf5698042dc22b8b7 /src/lib
parent0c52870537717e214c93726ec949d7c7fe8d0b8c (diff)
downloadopenbsd-b188f636e99f95bde06f84b8f0803d5754440ccf.tar.gz
openbsd-b188f636e99f95bde06f84b8f0803d5754440ccf.tar.bz2
openbsd-b188f636e99f95bde06f84b8f0803d5754440ccf.zip
Pages in the malloc cache are either reused quickly or unmapped
quickly. In both cases it does not make sense to set hints on them. So remove that option, which is just a remainder of old times when malloc used to hold on to pages. ok stefan@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libc/stdlib/malloc.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c
index 063bdb070d..1cb5137ca7 100644
--- a/src/lib/libc/stdlib/malloc.c
+++ b/src/lib/libc/stdlib/malloc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: malloc.c,v 1.207 2016/10/22 14:27:19 otto Exp $ */ 1/* $OpenBSD: malloc.c,v 1.208 2016/10/28 17:03:22 otto Exp $ */
2/* 2/*
3 * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net> 3 * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net>
4 * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org> 4 * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org>
@@ -176,7 +176,6 @@ struct malloc_readonly {
176 int malloc_mt; /* multi-threaded mode? */ 176 int malloc_mt; /* multi-threaded mode? */
177 int malloc_freenow; /* Free quickly - disable chunk rnd */ 177 int malloc_freenow; /* Free quickly - disable chunk rnd */
178 int malloc_freeunmap; /* mprotect free pages PROT_NONE? */ 178 int malloc_freeunmap; /* mprotect free pages PROT_NONE? */
179 int malloc_hint; /* call madvice on free pages? */
180 int malloc_junk; /* junk fill? */ 179 int malloc_junk; /* junk fill? */
181 int malloc_move; /* move allocations to end of page? */ 180 int malloc_move; /* move allocations to end of page? */
182 int malloc_realloc; /* always realloc? */ 181 int malloc_realloc; /* always realloc? */
@@ -374,8 +373,6 @@ unmap(struct dir_info *d, void *p, size_t sz)
374 MALLOC_MAXCHUNK : sz; 373 MALLOC_MAXCHUNK : sz;
375 memset(p, SOME_FREEJUNK, amt); 374 memset(p, SOME_FREEJUNK, amt);
376 } 375 }
377 if (mopts.malloc_hint)
378 madvise(p, sz, MADV_FREE);
379 if (mopts.malloc_freeunmap) 376 if (mopts.malloc_freeunmap)
380 mprotect(p, sz, PROT_NONE); 377 mprotect(p, sz, PROT_NONE);
381 r->p = p; 378 r->p = p;
@@ -447,8 +444,6 @@ map(struct dir_info *d, void *hint, size_t sz, int zero_fill)
447 d->free_regions_size -= psz; 444 d->free_regions_size -= psz;
448 if (mopts.malloc_freeunmap) 445 if (mopts.malloc_freeunmap)
449 mprotect(p, sz, PROT_READ | PROT_WRITE); 446 mprotect(p, sz, PROT_READ | PROT_WRITE);
450 if (mopts.malloc_hint)
451 madvise(p, sz, MADV_NORMAL);
452 if (zero_fill) 447 if (zero_fill)
453 memset(p, 0, sz); 448 memset(p, 0, sz);
454 else if (mopts.malloc_junk == 2 && 449 else if (mopts.malloc_junk == 2 &&
@@ -465,8 +460,6 @@ map(struct dir_info *d, void *hint, size_t sz, int zero_fill)
465 r->p = (char *)r->p + (psz << MALLOC_PAGESHIFT); 460 r->p = (char *)r->p + (psz << MALLOC_PAGESHIFT);
466 if (mopts.malloc_freeunmap) 461 if (mopts.malloc_freeunmap)
467 mprotect(p, sz, PROT_READ | PROT_WRITE); 462 mprotect(p, sz, PROT_READ | PROT_WRITE);
468 if (mopts.malloc_hint)
469 madvise(p, sz, MADV_NORMAL);
470 r->size -= psz; 463 r->size -= psz;
471 d->free_regions_size -= psz; 464 d->free_regions_size -= psz;
472 if (zero_fill) 465 if (zero_fill)
@@ -532,12 +525,6 @@ omalloc_parseopt(char opt)
532 case 'G': 525 case 'G':
533 mopts.malloc_guard = MALLOC_PAGESIZE; 526 mopts.malloc_guard = MALLOC_PAGESIZE;
534 break; 527 break;
535 case 'h':
536 mopts.malloc_hint = 0;
537 break;
538 case 'H':
539 mopts.malloc_hint = 1;
540 break;
541 case 'j': 528 case 'j':
542 if (mopts.malloc_junk > 0) 529 if (mopts.malloc_junk > 0)
543 mopts.malloc_junk--; 530 mopts.malloc_junk--;