From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw1-x1132.google.com (mail-yw1-x1132.google.com [IPv6:2607:f8b0:4864:20::1132]) by sourceware.org (Postfix) with ESMTPS id 756DE3858D32; Sun, 11 Sep 2022 20:12:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 756DE3858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-yw1-x1132.google.com with SMTP id 00721157ae682-348b1838c2bso78334357b3.3; Sun, 11 Sep 2022 13:12:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=8mU2PZiXLleZ5FoQVomsonu491iNiHzTvGq971S+EwY=; b=ASFHSIFgxUcFKyohvyLJxkxGEpQltKyvuegPKmTKiV8n5XFFZresBBNchGwuQd04U1 3ruLSHsKVhAl2J3uEoEvhM93FvxM7GS63RjCCN+DL/B44AtzJJz1h6jju5Ss10vJiRvN OB9BcUS/Y8Sa8KxCDGghgIKHz9ox1HpEdbrWx7ZvxYI3ROAt+rrlM20SJb5FTNTtc9V7 y2ynpogz4ECf/OEhyu+fRpXw+h44QakUJSvkTNvEMNNAXYG8Y7D9EgEPWTbbGPp5Wgn0 kwS3sGVq53XYtlKHK/KlsBc61XWhtijab5KmuXwh4QWWbt0WljYD/2qilJc0XMOVz/9Y SG3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=8mU2PZiXLleZ5FoQVomsonu491iNiHzTvGq971S+EwY=; b=JXg0QIc+MlNritc2uxWIJsyjsfJbgJAtmU5TlIzwtLNy16E/frbA3zxGvec+yRbdpU lQR/CrRtaKjcseBr6iL2GfCJF+4fZ6U116Nh5x7b5nfyjizjoEAzk/8U2FpnZdnmxVeK fVJoaptxKsW4vsS6HBuczqGgargnNvjCLl19pifTA10psHoNtSP+XtfXje5eaznfTzsa T60VisQnoqB+etB+VWtbqL6e+mgaRFCpcsXKbnqw6fDb1wNk8ihC2i0cnJrEEyZKd26P Bpr/c6Gr2nL5OvoZbK3TrsPqr6Sr1q/52h9yaguXJMTzVZ8WCwPE60VDTbBIuHRMu1Uj I2xA== X-Gm-Message-State: ACgBeo3a982Svq4AaAp4bmgAfzuATk1TcmOTEWAPoSNHR1kWyjVvmozL mf7YXBOT2lBOtPGiNkSpU6+XjA/15WRReDfLxws= X-Google-Smtp-Source: AA6agR4d9BDeAb6+zNCGDZR7zx7128+Tfzog7bnCT9FIMROUfpCwoP76H6sBsEU1LGPkhSifgUrTaahbtusAQmNWwCI= X-Received: by 2002:a0d:d4d3:0:b0:345:90:d31 with SMTP id w202-20020a0dd4d3000000b0034500900d31mr20255075ywd.120.1662927173994; Sun, 11 Sep 2022 13:12:53 -0700 (PDT) MIME-Version: 1.0 References: <20211111162428.2286605-1-hjl.tools@gmail.com> <20211111162428.2286605-5-hjl.tools@gmail.com> <87v90xryvi.fsf@igel.home> In-Reply-To: <87v90xryvi.fsf@igel.home> From: Sunil Pandey Date: Sun, 11 Sep 2022 13:12:18 -0700 Message-ID: Subject: Re: [PATCH v6 4/4] Avoid extra load with CAS in __pthread_mutex_clocklock_common [BZ #28537] To: Andreas Schwab , Libc-stable Mailing List Cc: "H.J. Lu" , Florian Weimer , GNU C Library , Arjan van de Ven , "Paul A . Clarke" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,HK_RANDOM_ENVFROM,HK_RANDOM_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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: On Fri, Nov 12, 2021 at 10:53 AM Andreas Schwab wrote: > > On Nov 11 2021, H.J. Lu wrote: > > > 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) > > Please move the assignment out of the condition. > > Andreas. > > -- > Andreas Schwab, schwab@linux-m68k.org > GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 > "And now for something completely different." I would like to backport this patch to release branch 2.33 and 2.34 Any comments/suggestions or objections on this. commit 0b82747dc48d5bf0871bdc6da8cb6eec1256355f Author: H.J. Lu Date: Thu Nov 11 06:31:51 2021 -0800 Avoid extra load with CAS in __pthread_mutex_lock_full [BZ #28537] Replace boolean CAS with value CAS to avoid the extra load. Reviewed-by: Szabolcs Nagy