This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH COMMITTED] malloc: Update comment for list_lock


On 12/22/2015 09:16 PM, Carlos O'Donell wrote:
> On 12/22/2015 02:32 PM, Florian Weimer wrote:
>> On 12/21/2015 10:54 PM, Carlos O'Donell wrote:
>>
>>>> +   list_lock also prevents concurrent forks.  When list_lock is
>>>> +   acquired, no arena lock must be acquired, but it is permitted to
>>>> +   acquire arena locks after list_lock.  */
>>>
>>> This last sentence seems ambiguous to me. I assume you mean to say that
>>> at the point at which list_lock is acquired there are no other arena
>>> locks held, but that after list_lock is acquired, other arena locks may
>>> be acquired afterwards?
>>
>> That was my intent.  Is this clearer?
>>
>>   list_lock also prevents concurrent forks.  At the time list_lock is
>>   acquired, no arena lock must have been acquired, but it is permitted
>>   to acquire arena locks subsequently, while list_lock is acquired.
>>
>> I'm following Torvald's earlier guidance not to speak of âheldâ locks.
> 
> Looks good to me.

Thanks, committed.

Florian

>From 7962541a32eff5597bc4207e781cfac8d1bb0d87 Mon Sep 17 00:00:00 2001
Message-Id: <7962541a32eff5597bc4207e781cfac8d1bb0d87.1450888146.git.fweimer@redhat.com>
From: Florian Weimer <fweimer@redhat.com>
Date: Wed, 23 Dec 2015 17:23:33 +0100
Subject: [PATCH] malloc: Update comment for list_lock
To: libc-alpha@sourceware.org

---
 ChangeLog      | 4 ++++
 malloc/arena.c | 7 ++++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a32717e..9063848 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-12-23  Florian Weimer  <fweimer@redhat.com>
+
+	* malloc/arena.c (list_lock): Update comment.
+
 2015-12-22  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>
 
 	* sysdeps/powerpc/hwcapinfo.c: Export symbol
diff --git a/malloc/arena.c b/malloc/arena.c
index 85f1194..665be5e 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -85,9 +85,10 @@ static mstate free_list;
    _int_new_arena.  This suffers from data races; see the FIXME
    comments in _int_new_arena and reused_arena.
 
-   list_lock also prevents concurrent forks.  When list_lock is
-   acquired, no arena lock must be acquired, but it is permitted to
-   acquire arena locks after list_lock.  */
+   list_lock also prevents concurrent forks.  At the time list_lock is
+   acquired, no arena lock must have been acquired, but it is
+   permitted to acquire arena locks subsequently, while list_lock is
+   acquired.  */
 static mutex_t list_lock = _LIBC_LOCK_INITIALIZER;
 
 /* Mapped memory in non-main arenas (reliable only for NO_THREADS). */
-- 
2.4.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]