From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x52e.google.com (mail-pg1-x52e.google.com [IPv6:2607:f8b0:4864:20::52e]) by sourceware.org (Postfix) with ESMTPS id 0662E3857BA1 for ; Tue, 12 Jul 2022 19:11:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0662E3857BA1 Received: by mail-pg1-x52e.google.com with SMTP id e132so8442317pgc.5 for ; Tue, 12 Jul 2022 12:11:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=95gJXXsno9UkDzlXn4y0PpDwyM9+hGdSm7SozSI+7Ls=; b=jYz9zeLAauTyNfBhBMPiGTf5Me7Rn/JM0cT7syjw4Tu5eCTBGDerid74AtDOSkkvG1 E1HqyW9qz4P2jRGYqyNkc4Zz6LsLUy+jjlr25X0p/RIom8j5HV941a2xEjmvw4IwJ+YV 7uj5Up9egZcLGF++Uh2AyMYRED5MNZpZguhpNwplUs6sqFbbdJFxjxkvk252FaY3DmUs ozCGkCUVqn/VdykPQwrR812CrgFAaq0Dbw70uZArvpLNjj9d+qUoM345fXF/BxNbATfo hbwU+R+2h3zdgQiHXy5N3GPLUkCOynBYinJTSouZd+Iq20Un1KL/LkuJde9SdI9U+L0J cXdQ== X-Gm-Message-State: AJIora/FnZy0IgCNADL7Njjjtl38hQZgSBcnzf4lNfJfe4KguJi7+qrZ eU2q7VkbSwnKThq2SLy0TRd23axSrPYa50QtNgk= X-Google-Smtp-Source: AGRyM1uqulu4SNWCeUk/19h7pTTRsp7UNao6gs4Zs6rCjjggcmLJPh56q1CMalsgpg3hmEAYClHE/KDt/t46Ez0q0ZA= X-Received: by 2002:a63:ec47:0:b0:419:7e6d:19b5 with SMTP id r7-20020a63ec47000000b004197e6d19b5mr2134609pgj.256.1657653103962; Tue, 12 Jul 2022 12:11:43 -0700 (PDT) MIME-Version: 1.0 References: <0f40a803-eb51-e803-edd3-e6cf05a97b74@linaro.org> In-Reply-To: From: "H.J. Lu" Date: Tue, 12 Jul 2022 12:11:07 -0700 Message-ID: Subject: Re: [PATCH 3/7] Remove atomic_bit_set/bit_test_set To: Wilco Dijkstra Cc: Adhemerval Zanella Netto , Noah Goldstein , GNU C Library Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3018.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_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 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: Tue, 12 Jul 2022 19:11:46 -0000 On Tue, Jul 12, 2022 at 11:44 AM Wilco Dijkstra wrote: > > Hi, > > I don't believe it could make a difference since it isn't performance critical code. > Note that several similar fetch_or/fetch_and are used which do not optimize into a Only the operations with test have this issue. Simple fetch_or and fetch_and are OK. > bitset operation, so even if we fix this particular case to use unsigned, there are many > others. IIRC there is even a fetch_or with zero which is kind of useless! > > More importantly, it raises a question for locking: we currently use a compare-exchange > for each lock and unlock. If compare-exchange has higher overheads than other atomics > then we should investigate more efficient locking sequences. compare-exchange can be very expensive under contention. > Cheers, > Wilco -- H.J.