From a62719ba90e2fa1728890ae7dc8df9e32a622e7b Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Wed, 28 Oct 2015 19:32:46 +0100 Subject: malloc: Prevent arena free_list from turning cyclic [BZ #19048] [BZ# 19048] * malloc/malloc.c (struct malloc_state): Update comment. Add attached_threads member. (main_arena): Initialize attached_threads. * malloc/arena.c (list_lock): Update comment. (ptmalloc_lock_all, ptmalloc_unlock_all): Likewise. (ptmalloc_unlock_all2): Reinitialize arena reference counts. (deattach_arena): New function. (_int_new_arena): Initialize arena reference count and deattach replaced arena. (get_free_list, reused_arena): Update reference count and deattach replaced arena. (arena_thread_freeres): Update arena reference count and only put unreferenced arenas on the free list. --- NEWS | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 784762b15a..9b343917f5 100644 --- a/NEWS +++ b/NEWS @@ -19,9 +19,18 @@ Version 2.23 18823, 18824, 18825, 18857, 18863, 18870, 18872, 18873, 18875, 18887, 18918, 18921, 18928, 18951, 18952, 18953, 18956, 18961, 18966, 18967, 18969, 18970, 18977, 18980, 18981, 18982, 18985, 19003, 19007, 19012, - 19016, 19018, 19032, 19046, 19049, 19050, 19059, 19071, 19074, 19076, - 19077, 19078, 19079, 19085, 19086, 19088, 19094, 19095, 19124, 19125, - 19129, 19134, 19137, 19156, 19174, 19181. + 19016, 19018, 19032, 19046, 19048, 19049, 19050, 19059, 19071, 19074, + 19076, 19077, 19078, 19079, 19085, 19086, 19088, 19094, 19095, 19124, + 19125, 19129, 19134, 19137, 19156, 19174, 19181. + +* A defect in the malloc implementation, present since glibc 2.15 (2012) or + glibc 2.10 via --enable-experimental-malloc (2009), could result in the + unnecessary serialization of memory allocation requests across threads. + The defect is now corrected. Users should see a substantial increase in + the concurent throughput of allocation requests for applications which + trigger this bug. Affected applications typically create create and + destroy threads frequently. (Bug 19048 was reported and analyzed by + Ericsson.) * There is now a --disable-timezone-tools configure option for disabling the building and installing of the timezone related utilities (zic, zdump, and -- cgit v1.2.3