From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw1-x1129.google.com (mail-yw1-x1129.google.com [IPv6:2607:f8b0:4864:20::1129]) by sourceware.org (Postfix) with ESMTPS id 1D0CC3858D32; Sun, 11 Sep 2022 20:16:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1D0CC3858D32 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-x1129.google.com with SMTP id 00721157ae682-324ec5a9e97so78156857b3.7; Sun, 11 Sep 2022 13:16:55 -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=OwQSgnDPdW/sGjjVkjEFHAbxWI7NWNjJqAbUOziRFTg=; b=GJRYQXtocrF1iwbQYy6v9T0Yt6zLhDV12Asr9TERGz/IDFyyH1ILIRyBcGDpfFX3Y7 2E25rvziZTsr3frj5XlqqluhnMIOcayRJKB3fd3WH+uKNCh8z+H9Rs0iiaM0TNoA4B7G zIviUnRwhNs8faj9mEPm+avVNpmorFn52eMsIoc3Mg1BCQb2EYaG3FUPrTig5ciB1Ueh D5z8+nqmyQOroJiBSbtsLkdGJJoKVdocEqVzHgLInh10JChdq60xK6Zc9OUSTo7fXpDT Ifv8rg4PV16idsLyEg/9K2+LFN03GQF5L1alSLka7bayidJXgXbczEcJRDy3hChpwNO7 YRbQ== 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=OwQSgnDPdW/sGjjVkjEFHAbxWI7NWNjJqAbUOziRFTg=; b=6blXyjZUrslRrQwktatZNYX1Ge9lTe5nH1RikITZuaJRvwOtlbK+CS3MePjkorge85 4Qvh00Htliw17iqQdj4WWWH+tpo/BcnJUVpho1vNVGg8Lx+LlzZPjP/yvPo8FRByrMYn rRHLhg6jah7F3D71Lr4XAsM3KPuF8aJilXRR+P/pv88DBJPvRwHvXBDV+RHirr/ABvn3 QBDaQejUmIt4fgoy6uztHiIP3jiIESqITbyaL3TMGKGBwN3jsHgEeO8w//1MP22O3FVq IJU46dhm4ddGg8wPiaMmBiXhv9hfv6ee6wnh3jHQXAz572Q9e6s/TxqLi6bEyj+c1z9i eQYQ== X-Gm-Message-State: ACgBeo0uXPBzWb4rh2UV27aSFwHx9zqKF8C6qNlqkjwrZ4W+yfsWFDZ7 9Cj7bd3FhqHOX7m97zmKWiTNx5RHJTQFq55nauk= X-Google-Smtp-Source: AA6agR6DWEY5mCEfsGlCo1iNo7QSY0751jkPBRl+IteulnnF/Tv5rdpVNn+FEf4GlawC6EV0GiVlhZr7ZRzvYIMTpTk= X-Received: by 2002:a81:48d5:0:b0:348:81c3:83c7 with SMTP id v204-20020a8148d5000000b0034881c383c7mr16259890ywa.301.1662927414587; Sun, 11 Sep 2022 13:16:54 -0700 (PDT) MIME-Version: 1.0 References: <20211111162428.2286605-1-hjl.tools@gmail.com> <20211111162428.2286605-3-hjl.tools@gmail.com> <87zgq9rywl.fsf@igel.home> In-Reply-To: <87zgq9rywl.fsf@igel.home> From: Sunil Pandey Date: Sun, 11 Sep 2022 13:16:18 -0700 Message-ID: Subject: Re: [PATCH v6 2/4] Avoid extra load with CAS in __pthread_mutex_lock_full [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=-7.0 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:52 AM Andreas Schwab wrote: > > On Nov 11 2021, H.J. Lu wrote: > > > 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) > > 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 49302b8fdf9103b6fc0a398678668a22fa19574c Author: H.J. Lu Date: Thu Nov 11 06:54:01 2021 -0800 Avoid extra load with CAS in __pthread_mutex_clocklock_common [BZ #28537] Replace boolean CAS with value CAS to avoid the extra load. Reviewed-by: Szabolcs Nagy