From 760f5d4877df33e782c4175c0c112280e8adf092 Mon Sep 17 00:00:00 2001 From: otto Date: Wed, 10 May 2023 07:58:06 +0000 Subject: [PATCH] As mmap(2) is no longer a LOCK syscall, do away with the extra unlock-lock dance it serves no real purpose any more. Confirmed by a small performance increase in tests. ok @tb --- lib/libc/stdlib/malloc.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index 5cd7ff876af..a6728b2606a 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: malloc.c,v 1.282 2023/04/21 06:19:40 jsg Exp $ */ +/* $OpenBSD: malloc.c,v 1.283 2023/05/10 07:58:06 otto Exp $ */ /* * Copyright (c) 2008, 2010, 2011, 2016, 2023 Otto Moerbeek * Copyright (c) 2012 Matthew Dempsky @@ -264,24 +264,6 @@ static void malloc_exit(void); (sz) = (uintptr_t)(r)->p & MALLOC_PAGEMASK, \ (sz) = ((sz) == 0 ? (r)->size : B2SIZE((sz) - 1)) -static inline void -_MALLOC_LEAVE(struct dir_info *d) -{ - if (d->malloc_mt) { - d->active--; - _MALLOC_UNLOCK(d->mutex); - } -} - -static inline void -_MALLOC_ENTER(struct dir_info *d) -{ - if (d->malloc_mt) { - _MALLOC_LOCK(d->mutex); - d->active++; - } -} - static inline size_t hash(void *p) { @@ -879,9 +861,7 @@ map(struct dir_info *d, size_t sz, int zero_fill) return p; } if (psz <= 1) { - _MALLOC_LEAVE(d); p = MMAP(cache->max * sz, d->mmap_flag); - _MALLOC_ENTER(d); if (p != MAP_FAILED) { STATS_ADD(d->malloc_used, cache->max * sz); cache->length = cache->max - 1; @@ -901,9 +881,7 @@ map(struct dir_info *d, size_t sz, int zero_fill) } } - _MALLOC_LEAVE(d); p = MMAP(sz, d->mmap_flag); - _MALLOC_ENTER(d); if (p != MAP_FAILED) STATS_ADD(d->malloc_used, sz); /* zero fill not needed */ -- 2.20.1