From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2079.outbound.protection.outlook.com [40.107.22.79]) by sourceware.org (Postfix) with ESMTPS id 087883857C40 for ; Fri, 12 Nov 2021 16:32:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 087883857C40 Received: from AM6P193CA0084.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:88::25) by AS8PR08MB6503.eurprd08.prod.outlook.com (2603:10a6:20b:33b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16; Fri, 12 Nov 2021 16:32:44 +0000 Received: from VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:88:cafe::5d) by AM6P193CA0084.outlook.office365.com (2603:10a6:209:88::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.25 via Frontend Transport; Fri, 12 Nov 2021 16:32:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT007.mail.protection.outlook.com (10.152.18.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.20 via Frontend Transport; Fri, 12 Nov 2021 16:32:43 +0000 Received: ("Tessian outbound 892d2780d3aa:v109"); Fri, 12 Nov 2021 16:32:43 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: cc3e2faf60f22f55 X-CR-MTA-TID: 64aa7808 Received: from 9b2c402f10b3.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DDD291A2-FF0C-4126-B665-43B415CA6EC0.1; Fri, 12 Nov 2021 16:32:28 +0000 Received: from EUR02-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9b2c402f10b3.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 12 Nov 2021 16:32:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HKMTkdI2mawKNc7pay4TBMerZh9ke1UA249Kj34AWNS2jo+1Qxeud808H4XDdur3VAbmG6JSJve0SKigAmwgluvZQUgAJ0Ucz0SPQGZgj3AhxXfZa0WH6c3TJrbKa3jOf7xLESz8iWhCfH+UfK4bIwQcHVUqOq6HWHW+6/Rzzjy2F5iuyPPumtA3oy/Cf4iENIByCCLY4fWMFjhh7i9UBN5lfkYrM1XuKCUEtdCsoo3Kj8n0zycH0FlKy3C/WeKtrz1ugv5dBCEu2hIFSwtSZe3Sh01mvHqovrJPY368mENqPVt1yZm2iVKXyQRtjmqU2E9V0rPpO6TsiU3Vw1zGtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zwN/aGnqbcgdKfzs8ZvUBYd/Q+mIRjMExExH6GaCOcs=; b=Wj3c1picvphLdzSv/IiYUISPqobBJ84fjNhlbcM8fJGzaJk2GtUxcy0K5/9+uNTjqDfr73tSiJUZLrFjTTun7Kp+cjSIo3A9JQe5QmMB5DXSGTf6iB77pZWkQ4yvnJtETK4Z4nPWxrGNImANALO1/ZSg8g2gq7jML8IprHaiQZveDThU3B0triMTWe7SoTgfhHOdBcjJFQWCRGMwvBQrdinYqyQ57E0BE9sHlk939XKFMJL3Qw4ktFeIMpaIikhkSX3nRmvV4Wm67Emqbi2a78qU9AdOMZOa4VstnTUe5nOfnRWKtAqA70lqkQirjsUDxgV2whFFXclCRvhej/HepQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) by DU0PR08MB7461.eurprd08.prod.outlook.com (2603:10a6:10:354::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.14; Fri, 12 Nov 2021 16:32:27 +0000 Received: from DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::198d:f67e:761b:ce0d]) by DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::198d:f67e:761b:ce0d%3]) with mapi id 15.20.4690.019; Fri, 12 Nov 2021 16:32:27 +0000 Date: Fri, 12 Nov 2021 16:32:23 +0000 From: Szabolcs Nagy To: "H.J. Lu" Cc: libc-alpha@sourceware.org, Florian Weimer , Andreas Schwab , "Paul A . Clarke" , Arjan van de Ven Subject: Re: [PATCH v6 4/4] Avoid extra load with CAS in __pthread_mutex_clocklock_common [BZ #28537] Message-ID: <20211112163223.GC1982710@arm.com> References: <20211111162428.2286605-1-hjl.tools@gmail.com> <20211111162428.2286605-5-hjl.tools@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20211111162428.2286605-5-hjl.tools@gmail.com> X-ClientProxiedBy: LO4P123CA0403.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:189::12) To DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) MIME-Version: 1.0 Received: from arm.com (217.140.106.51) by LO4P123CA0403.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:189::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Fri, 12 Nov 2021 16:32:26 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 883c381b-e01d-4198-510f-08d9a5fa0dbf X-MS-TrafficTypeDiagnostic: DU0PR08MB7461:|AS8PR08MB6503: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:5797;OLM:5797; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: iFsD9QYTAo24feYto9fjibCKjoh61S9OBJV6Ctp1dJb8pljBDQdyo/bSPlrn5efpvQ/Sh3zuEcuQPSzbO9yalfGKsaLRcgv1P0a9STvk4VSBap1V/NlyXhj4kDBkcOSmCYtcTcoe0JR40Cgyix1kd+n/reRfNB5r5PLx5d3l1wee2be8DnsBosVB1CVs0mUVEsZa0c+RWaNOhnwAkPp1uOCkvprLBe2nh8DouWWCFqlW8hxZRKje4TE2CHibJSSJTLX2pXG+Uy1Xlv8KtBM77E6B7nwtbQK5+gscb116VhP5IlZO/t+2gRM4DtGSyNhpcStXyDIkOs9bK9b2ezpou++Hnf57dQ/theazEfL6AW1VIFz3+J49n4+0B6ogNnJFoOvEnOsQb2e8QJOovpnAwbdOsaigmIc+K4Ek6b/UBxGOWgDiO6EkDW5Tpw/j8VK0WMBSzsSY5k6KCaTAoiaBhqJi59g/hO9EC3WobNmmrxipXwhdy7Sf0pmhjq1qoB66TwbXYY+PJiJKAoPOeFnW4Ey9XyG9M+fYrnqoebbJpfosyvHQJhLCseI0EcY/1qHOf6JYxPP7wvF3qThPFTEte7N41kJtf99ttYTBTMXqLaKllldeh0GhAx39cAUlA7az9jdKktEh5+zvf/wqBsJPui1bosoA2yC1wuoYs4z9SulzRH7zB3u2J12LYsLKps9ePQVf9dzGq7SW366+g6Wu/w== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7179.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(7696005)(66556008)(66476007)(66946007)(86362001)(1076003)(4326008)(8936002)(5660300002)(316002)(8886007)(38100700002)(54906003)(8676002)(38350700002)(52116002)(6666004)(33656002)(2906002)(508600001)(6916009)(44832011)(83380400001)(186003)(956004)(2616005)(36756003)(55016002)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7461 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 6b972971-6b9b-4d2f-d642-08d9a5fa0380 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ILglTFExq7uNjsA5Ap9nH8Ge1gmGG1kdOJrvNondnBtklzTeVk7RMfhs4MNlctJDNtNlj2ASq9XwtNHkkkPXvgsJTnDl0MBgOy6vUjjQhJezAj+5kR0uUgjufKJJ1f4UdOxhUTIT6cV/jC9FI7pTYUF4n7lgpf2SczqXvCIvxvC1od1iQNy62cZ9Bn5iOrqv12WTzBmHautkgbOnBf/bGBCgPOJRHEeQxPwfVUOsnB4kvfUpa75sYFMb3JduvdY8Ovhtd2V7nOl/LZLm/HyPMLgGS+fojgqbV9Kmow9Hfyv0DXntl5CHLDy1UCWAJ1DFhW8lPqCwAgGtdHbpC7i0PBYjLeOhrhwSQsKHhwLiVTZITupO6WJ6VsUfyeO20kM7c9ynTVXXdgk3olHfAuKoLiZwq+TYF2OlBuCI+z1uhw0vbKPssBfUiA6R1mptT41N57Y9yoILzcljSjO4ICc/+mY4c8cpD4LkGIzbhdBjDX3fwW3NpaEb9OB+7EBwr1SpEXtA23AxR6z/FLQeOaWyAKpS5OdoShPk5dpfk3CJ3CMPTZhmJ2lT/gBVB/yaaBts7tnA9cAh7VJviepLPXPcjHcGcHmpjR7GL9tZNyRMayPoPQDsntVZk887+Gv+pq7liaB82DAB+iupiGh3w/J9uuLA303vIFXBKUnPRZVrQbupSuZ3iwsoclvS/6RbQ8vu2BGNeBETv6b+tbMKKXFD4A== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(107886003)(2906002)(8886007)(82310400003)(36860700001)(6862004)(33656002)(1076003)(86362001)(316002)(956004)(2616005)(186003)(356005)(26005)(7696005)(44832011)(336012)(5660300002)(83380400001)(81166007)(508600001)(54906003)(36756003)(4326008)(70206006)(55016002)(8676002)(70586007)(47076005)(8936002)(6666004); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2021 16:32:43.9565 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 883c381b-e01d-4198-510f-08d9a5fa0dbf X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6503 X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Nov 2021 16:32:48 -0000 The 11/11/2021 08:24, H.J. Lu via Libc-alpha wrote: > Replace boolean CAS with value CAS to avoid the extra load. this looks good in general. Reviewed-by: Szabolcs Nagy > --- > nptl/pthread_mutex_timedlock.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c > index 57f3f28869..f763cfc7fa 100644 > --- a/nptl/pthread_mutex_timedlock.c > +++ b/nptl/pthread_mutex_timedlock.c > @@ -233,12 +233,12 @@ __pthread_mutex_clocklock_common (pthread_mutex_t *mutex, > meantime. */ > if ((oldval & FUTEX_WAITERS) == 0) > { > - if (atomic_compare_and_exchange_bool_acq (&mutex->__data.__lock, > - oldval | FUTEX_WAITERS, > - oldval) > - != 0) > + int val; > + if ((val = atomic_compare_and_exchange_val_acq > + (&mutex->__data.__lock, oldval | FUTEX_WAITERS, > + oldval)) != oldval) > { > - oldval = mutex->__data.__lock; > + oldval = val; > continue; > } > oldval |= FUTEX_WAITERS; > -- > 2.33.1 >