diff options
author | Florian Weimer <fweimer@redhat.com> | 2016-02-19 17:06:33 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2016-02-19 17:06:33 +0100 |
commit | 00d4e2ea3503e6de0f198cd65343f287a51f04db (patch) | |
tree | e81b251d3f58e479bb34283b6fab79c565119515 | |
parent | aff8c7a9a700d31bdbc0ccb1b8f594ab62255e16 (diff) | |
download | glibc-00d4e2ea3503e6de0f198cd65343f287a51f04db.zip glibc-00d4e2ea3503e6de0f198cd65343f287a51f04db.tar.gz glibc-00d4e2ea3503e6de0f198cd65343f287a51f04db.tar.bz2 |
malloc: Remove arena_mem variable
The computed value is never used. The accesses were data races.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | malloc/arena.c | 6 | ||||
-rw-r--r-- | malloc/malloc.c | 2 |
3 files changed, 6 insertions, 8 deletions
@@ -1,5 +1,11 @@ 2016-02-19 Florian Weimer <fweimer@redhat.com> + * malloc/malloc.c (sysmalloc): Do not update arena_max. + * malloc/arena.c (arena_max): Remove. + (heap_trim, _int_new_arena): Do not update arena_max. + +2016-02-19 Florian Weimer <fweimer@redhat.com> + * resolv/res_init.c (res_ninit): Update comment. 2016-02-19 Florian Weimer <fweimer@redhat.com> diff --git a/malloc/arena.c b/malloc/arena.c index 1edb4d4..54cf086 100644 --- a/malloc/arena.c +++ b/malloc/arena.c @@ -91,9 +91,6 @@ static mstate free_list; acquired. */ static mutex_t list_lock = _LIBC_LOCK_INITIALIZER; -/* Mapped memory in non-main arenas (reliable only for NO_THREADS). */ -static unsigned long arena_mem; - /* Already initialized? */ int __malloc_initialized = -1; @@ -705,7 +702,6 @@ heap_trim (heap_info *heap, size_t pad) if (new_size + (HEAP_MAX_SIZE - prev_heap->size) < pad + MINSIZE + pagesz) break; ar_ptr->system_mem -= heap->size; - arena_mem -= heap->size; LIBC_PROBE (memory_heap_free, 2, heap, heap->size); delete_heap (heap); heap = prev_heap; @@ -743,7 +739,6 @@ heap_trim (heap_info *heap, size_t pad) return 0; ar_ptr->system_mem -= extra; - arena_mem -= extra; /* Success. Adjust top accordingly. */ set_head (top_chunk, (top_size - extra) | PREV_INUSE); @@ -793,7 +788,6 @@ _int_new_arena (size_t size) a->attached_threads = 1; /*a->next = NULL;*/ a->system_mem = a->max_system_mem = h->size; - arena_mem += h->size; /* Set up the top chunk, with proper alignment. */ ptr = (char *) (a + 1); diff --git a/malloc/malloc.c b/malloc/malloc.c index d20d595..86e2a03 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -2410,7 +2410,6 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av) && grow_heap (old_heap, MINSIZE + nb - old_size) == 0) { av->system_mem += old_heap->size - old_heap_size; - arena_mem += old_heap->size - old_heap_size; set_head (old_top, (((char *) old_heap + old_heap->size) - (char *) old_top) | PREV_INUSE); } @@ -2420,7 +2419,6 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av) heap->ar_ptr = av; heap->prev = old_heap; av->system_mem += heap->size; - arena_mem += heap->size; /* Set up the new top. */ top (av) = chunk_at_offset (heap, sizeof (*heap)); set_head (top (av), (heap->size - sizeof (*heap)) | PREV_INUSE); |