From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by sourceware.org (Postfix) with ESMTPS id C28233858C31 for ; Thu, 4 May 2023 04:55:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C28233858C31 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=fastmail.fm Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=fastmail.fm Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id C56B15C0462; Thu, 4 May 2023 00:55:08 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Thu, 04 May 2023 00:55:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.fm; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to; s=fm3; t=1683176108; x=1683262508; bh=aTZXG4q++9 GGsJ7GQ2VYzz6G6h8VvZDK2a0KDoYRxsY=; b=jovJf+eO9jhIgyNKS1hQvjVw2A e75UfKTFR3P5Q1rb4Gh+Fty4H7dTWKHqkA+Pwa5bM8QsGOLz6A0y16hQHxG0/eWc CBFbXm6NoPLhZlpTUwDOL4f8CvRgtoXOaw01uhtuOA/WbqxgQ75po6Kyf1VM67HE H3xZikRwJB0whTBv+rGr/ntjt9ElNRzF+e7FipISxmsHbykSwltrkfGMXseJMFPY WPGM+1INFFlbm9VPMjFdynzki6Pn3xrDVzDY1vuGDRBR3Qth69fp2aNwwouxqOQY oSc46zuAk2o9Zo0fRtcWsWFUIGZjmS6b+RHKO647SMolfuFeZx3ekpRhl2mg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1683176108; x=1683262508; bh=aTZXG4q++9GGs J7GQ2VYzz6G6h8VvZDK2a0KDoYRxsY=; b=hiEN4rKLfYI3iL6qgRyLFpwr/pJR5 yozfairgekhEdC8dHgSa4WKWcLnm0+tfAjG9GLrqpgxhdWbpY0YVP+I/iuox+7/y ErH9tUtWAfX3OS5Sr0zcy5Jba5wImfH4iY/oKV/1E4qOSmHd0CPbKMe45oRYdOv2 Xrw96JTbRRC8eIzqvn+ZrLooD/zi2ZXR//p0gEehO/zzaoTXhmLIjh9+GnXvqwPa PyrV/r1XIlIfbvf1+dfZgmrDkcAx0d/d1ZhFjjAFmq2GI20+A0YHuJ8m6nwwIG9X ESagFf/VIvJ/crTearBX4H1xOpP65SWxxCHJl7MBeP8Tb8cN6+QIUHdnQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedvledgkeekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomhepmhgrlhhtvghs khgrrhhuphhkvgesfhgrshhtmhgrihhlrdhfmhenucggtffrrghtthgvrhhnpedvuddvff dtvefgkefgjeeuvdefffefleehheduveffjeeffedvffegheehkedtgeenucffohhmrghi nhepshhouhhrtggvfigrrhgvrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomhepmhgrlhhtvghskhgrrhhuphhkvgesfhgrshhtmhgrihhl rdhfmh X-ME-Proxy: Feedback-ID: ifa6c408f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 4 May 2023 00:55:08 -0400 (EDT) From: malteskarupke@fastmail.fm To: libc-alpha@sourceware.org Cc: Malte Skarupke Subject: [PATCH v2 0/9] Patch to fix glibc condition variable bug (BZ 25847) Date: Thu, 4 May 2023 00:54:54 -0400 Message-Id: <20230504045503.83276-1-malteskarupke@fastmail.fm> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: Malte Skarupke This is v2 of the patches, v1 here: https://sourceware.org/pipermail/libc-alpha/2023-January/145023.html The only difference is using of release semantics in pthread_cond_common when writing to g_signals. Updating this one is a no-brainer because it was just incorrect. I did not update any other writes to g_signals because there is more of a debate there on whether pthread_cond_signal should synchronize with pthread_cond_wait. It does not in the old implementation, which relies on the fact that condition variables are always used together with mutexes. Frank Barrus (1): pthreads NPTL: lost wakeup fix 2 Malte Skarupke (8): nptl: Update comments and indentation for new condvar implementation nptl: Remove unnecessary catch-all-wake in condvar group switch nptl: Remove unnecessary quadruple check in pthread_cond_wait nptl: Remove g_refs from condition variables nptl: Use a single loop in pthread_cond_wait instaed of a nested loop nptl: Fix indentation nptl: rename __condvar_quiesce_and_switch_g1 nptl: Use all of g1_start and g_signals nptl/pthread_cond_broadcast.c | 8 +- nptl/pthread_cond_common.c | 109 ++-------- nptl/pthread_cond_signal.c | 19 +- nptl/pthread_cond_wait.c | 278 +++++------------------- nptl/tst-cond22.c | 12 +- sysdeps/nptl/bits/thread-shared-types.h | 4 +- sysdeps/nptl/pthread.h | 2 +- 7 files changed, 100 insertions(+), 332 deletions(-) -- 2.34.1