From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70047.outbound.protection.outlook.com [40.107.7.47]) by sourceware.org (Postfix) with ESMTPS id 593CC385C406 for ; Fri, 12 Nov 2021 16:32:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 593CC385C406 Received: from AS9PR06CA0132.eurprd06.prod.outlook.com (2603:10a6:20b:467::15) by DB6PR0801MB1669.eurprd08.prod.outlook.com (2603:10a6:4:30::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.15; Fri, 12 Nov 2021 16:31:57 +0000 Received: from VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:467:cafe::bb) by AS9PR06CA0132.outlook.office365.com (2603:10a6:20b:467::15) 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:31:57 +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 VE1EUR03FT036.mail.protection.outlook.com (10.152.19.204) 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:31:57 +0000 Received: ("Tessian outbound f7440cb8a4c6:v109"); Fri, 12 Nov 2021 16:31:57 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 6daf4fd45bd2be91 X-CR-MTA-TID: 64aa7808 Received: from c416b4a41c7c.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id EFC833A1-971D-4DD9-B86E-C1ECCD8E4777.1; Fri, 12 Nov 2021 16:31:49 +0000 Received: from EUR02-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c416b4a41c7c.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 12 Nov 2021 16:31:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kwonT9VZadyoUwEUJgQClg0uygJyKoowBwj37fBboY/KrtQQN6AVYiPpo+KOTHcC58baEscHfwvWjb1EDOFRGZfLo9hZ0LkEzkZCu0JihdK3km85ilsR8deu59yWNxQeZKrY0hCr/xMiU2nKtAbRVcBYlwZSXa/s4iDxiUzOICHRhqRxUwH8Vh3JvUwwqXKCoZEUeKgIfDxvdq546s6SouT/m4I1cQqn4d1N6N6WYmcv3E0TDRE4yiv8HZ3SxSvDgpGrt0DBOlM9P6dMnaVz37UqdVEpLoKQbk5MlR3zyUT81zwOsjJj+cEDouENm1EbpOmztn7xk5FUYe2TQvadLA== 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=VDDV5q5rMwWrz9+EyOW//ijjRMjm+43jtwwN/4YKCaQ=; b=ogfWWHYk9lCSO/EQtauuGnY2kZZhpMgQU7rGTFVxf22L+jVllLk1cltYNY4uUdhatL+/ZE6y8AqmkX18q5Ro1AboJTdzFfjr16WMZn5GRWoIz9bdjE+qmc4DxZJRxPplOyVV38AfPL7bNpW5IKzRMQsg/RVscF2Pyosn0lJiZksGMS7IXskdwXISl+j1chH3YG9qchizebnpL+NE7Z4opMiBFfeLTbApbmMGrU6XAQJm073t3FqF6vvmqIzDoiNTMP+DU1kUAPY4RlaAw2JclTOdcNrRpzU6p2lrXMrWklbh/wevqTfBODLQpjDH1zYD80mi9bYJ4GxTa3ZSksiTeA== 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:31:46 +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:31:46 +0000 Date: Fri, 12 Nov 2021 16:31:44 +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 2/4] Avoid extra load with CAS in __pthread_mutex_lock_full [BZ #28537] Message-ID: <20211112163144.GB1982710@arm.com> References: <20211111162428.2286605-1-hjl.tools@gmail.com> <20211111162428.2286605-3-hjl.tools@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20211111162428.2286605-3-hjl.tools@gmail.com> X-ClientProxiedBy: LO4P265CA0034.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ae::8) To DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) MIME-Version: 1.0 Received: from arm.com (217.140.106.51) by LO4P265CA0034.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2ae::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16 via Frontend Transport; Fri, 12 Nov 2021 16:31:45 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 23e71eea-08b3-4164-f9f4-08d9a5f9f1d7 X-MS-TrafficTypeDiagnostic: DU0PR08MB7461:|DB6PR0801MB1669: 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: FbXAHH+b0wxn9JYBf6SNaYX/ttnso4KydhRhpElSxEst5n6Pt5DWxXzVJ1oXjeMG1QQSqsfgfTc6vScM/rhwT/992eOfvoDAnrhXJoWRV3PBAQ5k0DSBkGpIE6HQjeKito9QzplKfXWiO3kCW0DlxM856kDtHBV07cA8DTF7N0GLMpiD5MsdOrfNqgQtYAkr1tnCX9+M2yN/IZwDc1gyH7rNiJ1R8PscD0Lu3ASoSiTmxq/oxcYYLQzBS3XSxbxdpLm3BYELgF+sjTlFFN1egf8jvU5oF84RCHgR3cgb95NYaaIqurgXqI15JCL765uiXJP+BkgIxQBFHukYa+M/BRQ+p5FQLpl25b4LPbv2ncizJLnZyBQP13BEXJdj8tqOqJHhf3Pvv+N705BbOCIPHkJuwS7cibJh4iuiwNMJN8y6X9Ja7OuB2m6dqx8sBw+Vyt5T9gYUv7XdGc9aEUyqlcD4Ju5cOzAKd+cRhwmf9MA0Gc/adNJS8TIxMeiDZpPGn8BoPqvcd0Xjz5WcCuWmhhxMiDs9EXwx9Lv5MZjNV2D4ELhl7bg0enEs5Ewdd0cuY/5mNK09ohCYlMsMh/9SIO4zvv5BDpl3/uUw3IGK6+7dLQivQPz41vN8rb40w+znbFh1asPfV933XGeX0OP6+0B8cDtpo/LjgvojNXmisXC3Itvi0g/o1gj6opoWSL3wRP918/Deol3EhrQTaZRK3w== 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)(33656002)(2906002)(508600001)(6916009)(44832011)(83380400001)(4744005)(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: VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 906b2f65-ddc0-4f3d-3e96-08d9a5f9eb21 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: g+fk8BKz6pkSFiOjlukfZPCZJ4SZbotLRurUHu6b2M6Ryvf07ZOK3p5BJrNS6SiBOkaOHQkNzlagA0cozdb3/5GHqsJA0iWvAlkv7HWxMmq9yhSmAaSGXyDg3PNDBaL5h6M4A7wCTW2wgVry1+93oBloMJYkwPyrPHsuC2pv1paXuUJDXf+M1/nnAJj2Gv4qDwjxUUP6sPuUTOaSpqUY2vj4hpvFVQ4BH7YrMEACwwgsDOFFhxG6l0RSEkwJ+UCCioq8DkUI3xfpGazWZoQGteV0to8MZaw6uWEOwbxHzklYTurc4anWYQyq3qQ2q56Rukio5GfabfLyn2vCrQ/j/cd83TXo+XOn75kjPrYldv5g1yKB0TaJXpEuLj113AlOg0052kclnWNjSGlBfFx5ZGe5I5a878KFx3VPFWv7470XHP6RUXf8TW+cksh9dDL3WQdvPhqnPe31vVylN3Z5gH/74knM52Gxj0FJmoxwWT4u5Wusv62DNAOkpLuGi8QLc03SS/urqW1QiFfDS/OYQ6KAXlYH7McD8w6PBaevpveomXrjXXs109ZI4OMTjSis0mrB0yNyM1+4qJhGYv09TGe3AKI8eW4WtprmSGSEGGZ3RSmHXN6b+0TJHU8K9a+JYtjfj9ruu8Xj/SkLo/tidSBlGic8wk89eLmumyyq5UScTR6EfxqodRCciX0YZqTyILwRCXFGddgtXDC/XEPjdQ== 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)(46966006)(36840700001)(36756003)(86362001)(4326008)(70206006)(44832011)(55016002)(47076005)(81166007)(70586007)(2616005)(956004)(8676002)(336012)(356005)(107886003)(8936002)(1076003)(186003)(36860700001)(26005)(5660300002)(33656002)(82310400003)(6862004)(4744005)(8886007)(7696005)(508600001)(316002)(2906002)(54906003)(83380400001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2021 16:31:57.1429 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 23e71eea-08b3-4164-f9f4-08d9a5f9f1d7 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: VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1669 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:04 -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_lock.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c > index 72058c719c..762059b230 100644 > --- a/nptl/pthread_mutex_lock.c > +++ b/nptl/pthread_mutex_lock.c > @@ -304,12 +304,12 @@ __pthread_mutex_lock_full (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 >