From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb2a.google.com (mail-yb1-xb2a.google.com [IPv6:2607:f8b0:4864:20::b2a]) by sourceware.org (Postfix) with ESMTPS id AFCC83858D28 for ; Tue, 18 Apr 2023 21:37:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AFCC83858D28 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-yb1-xb2a.google.com with SMTP id j15so9379412ybl.10 for ; Tue, 18 Apr 2023 14:37:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681853858; x=1684445858; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=NI2oAM/spwt11bfcKMRWRMaFotl0tu3ngeD7tzkda1s=; b=r6V+ghQeWF1EmOVFjWLwBMm0T8SWInnm5Ebl49oVnUs8PUYGvJw80Loy5XY1nWIEI9 NqkVbAyNxwv06yc1+95JGJHr8UV1ySjpZs3F3+ELO/rrqW/AYle/nuuf82UFORcwOZbd qiAPCAvp0lJlxP2bxYFMUNCDXZM1J5rQr+rjQnzBx238nR+s15mPVM54tPsb9QcWgcbG WZUt7df9h84UkjLizGLklrHgL/ry8xwW2EebUHRlg/RslURuHgE+bdcEPCC9af+yB4p0 a88ZcYXofdfnyQxFKC+qpVze9/t+utN/uijD37BQcU+A/10X3L4EMGCYv1PSWpWqL748 Hx0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681853858; x=1684445858; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=NI2oAM/spwt11bfcKMRWRMaFotl0tu3ngeD7tzkda1s=; b=eP1UGhcItZ/SVtwCIxZaedyLF46diE2FuIJJxQLT8rIOB2iFR5xBEpcGRj2OhYCJN9 /TsUyI9D9zUAPSwoavz9kPNFKH+2avOpOKEBbn5ayAPjVKExcKT5wgmXmwvRj8TgzNRN Rvlz8SgifHIoWyarIBtV8hmcgjXeazZLwKQ5mx/DXNpVTwUERV4PumSqCA/67OA88znU 8rID29u8xAm+aCO41mhlsU76awIJuvBoJnZ+F5FhYWljhK0tYc/eulZpGngKm6Fh/w+T DWFDj77HGOmuxTif59X7mLXRD/3sOXUr+Q//zbIjQvRKpFOyqTsgUzJotaU7mxlE6cJG 53/Q== X-Gm-Message-State: AAQBX9faG3bzbrMse3XcRfLbyRxd5l+SJvmYf29A5q4GdFQtX+gN3U1V MZN6L1jlMaHAy6uIYi6Dpm93mTTvBGrNRvI48EMmif+r5rE= X-Google-Smtp-Source: AKy350bgS/FVlUfrYUUeg6g9/DJbZBuV/Od4aBuX+AVRYNhHjxDPq2bKA94pqiZaXeQB22Ia8VzgEytwBYBdzkuAVYc= X-Received: by 2002:a25:ca43:0:b0:b92:5112:3f53 with SMTP id a64-20020a25ca43000000b00b9251123f53mr4393562ybg.2.1681853857867; Tue, 18 Apr 2023 14:37:37 -0700 (PDT) MIME-Version: 1.0 From: "H.J. Lu" Date: Tue, 18 Apr 2023 14:37:02 -0700 Message-ID: Subject: Use adaptive mutex with std::mutex To: GNU C Library Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3016.4 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,UPPERCASE_50_75 autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi, Adaptive mutex works much better than normal mutex on machines with many cores. However PTHREAD_MUTEX_ADAPTIVE_NP is a GNU extension and not supported by std::mutex. Is there a way to use adaptive mutex with std::mutex? Glibc has #define PTHREAD_MUTEX_INITIALIZER \ { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_TIMED_NP) } } #ifdef __USE_GNU # define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_RECURSIVE_NP) } } # define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ERRORCHECK_NP) } } # define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \ { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ADAPTIVE_NP) } } #endif Can we add a macro to conditonally define PTHREAD_MUTEX_INITIALIZER with PTHREAD_MUTEX_ADAPTIVE_NP? -- H.J.