Received: by 2002:a05:6359:6284:b0:131:369:b2a3 with SMTP id se4csp3191533rwb; Mon, 7 Aug 2023 09:30:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEEnlv8k0/wj3k3ZmzZElyOhQPHU2nOIoOC6bqetAH+FCr8p3r2mnPpesWjHLTw/i+tTN5d X-Received: by 2002:a17:902:aa05:b0:1b9:c205:a876 with SMTP id be5-20020a170902aa0500b001b9c205a876mr10985504plb.29.1691425803379; Mon, 07 Aug 2023 09:30:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691425803; cv=none; d=google.com; s=arc-20160816; b=RddiuvrYXHSan2337nP1nkdkef7NPBNh0CZSbLIjNAL4iDrRSNY0w3y9eTRR6CvwXL UYGkreUfxyzNJCjpP53k6f0jGRzhndZvn8YxK0ERGO1nIg0NJGML4E6rMeops7fHOVlD 7ff8wSeqQJmnorq5pWqqIHEOsBhHs8JV0OQwOWFm7vWqa708IVvQhQqOGWtNNaieML8v gCR1Hi1Tv/HoF1VPk0fsV/gPui0Z3H/wJKWys6eT+xskpkp7gaQDCgPb0Afgj3n9GUbR QGo55uDKLv0wa6NCzprHBjkmQaS02tj9TY9+mAxu+VQ2VXdNUDR+Z3WEz1qcXLcjdUAn V6VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=BWcN6N6fBgl6H9b9j23x5jmZELL/mtr85e3NmUCW+tE=; fh=Lc3Vf9YR0WfyITgHjKqn9oDiz9ynRLlALjtPhKzy1sU=; b=kBr7a+oVhBUnY6ClJheMvgZKs96Gda/Ve11TznBB/EFNpo68rXFxEwfW74YxM4POsw FgUuZCRIK2wfCRMFoEkak+vjTmIt6gG6EDV2i3SQVu2SwVmyU3WgzFuX/YkRGaTHcs1i GMnJEU0AH/yeKxyOz+zcwtxjIahP/Q3nkKOf1rtEyyHESsLi3so8G0n8tQapH5LxOv/z serRV6cfzOzKBW39xlyfZXTblnzliNvFcOtYAzvh2aywtK3hCOki4bKqBFmL5FjhjSlm lqEfmL8SD75E1R+oN0CPCDbipkka7FWZa0ZDhkEXq7xmuGV8i3pIrzMtcnEIPv5rObo3 /CWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=CJQk3v5e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r10-20020a170903014a00b001b89551a392si5167541plc.113.2023.08.07.09.29.51; Mon, 07 Aug 2023 09:30:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=CJQk3v5e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229561AbjHGOvt (ORCPT + 99 others); Mon, 7 Aug 2023 10:51:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55420 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229499AbjHGOvr (ORCPT ); Mon, 7 Aug 2023 10:51:47 -0400 Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com [IPv6:2a00:1450:4864:20::232]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5E7E810CA; Mon, 7 Aug 2023 07:51:46 -0700 (PDT) Received: by mail-lj1-x232.google.com with SMTP id 38308e7fff4ca-2b95d5ee18dso70944291fa.1; Mon, 07 Aug 2023 07:51:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691419904; x=1692024704; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=BWcN6N6fBgl6H9b9j23x5jmZELL/mtr85e3NmUCW+tE=; b=CJQk3v5ecULIpzY/GD5uLeYieY961pwHb7RBn6dcUonOmVjBc7FYxAzSLHO1usELhF s7XdhK2rZIsqpOp1f/J96hZf1yEy8p1LKsSaD2xHHg7oVVRVJyeQcJ4DPUkIh4lzExfm BmZ+2E+Bq69PxPhaLTEsQwEJtOIHOT2aYCrL39PkSzkazTou27itvYdObzvxRqBbEpGV zcX9P7X6L9RWNqQVaS/mm86udnrr3jOdo1RI0Sag36exBZvqvE/PoCKMCY55DkIGUOQ3 BrwSJ/DAimQBB+ZlE2XG3NYwhZnmzzOAqZBhQqXHZzoSVswfy5l5oq/MZMZP/yvPzbp4 3Eog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691419904; x=1692024704; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=BWcN6N6fBgl6H9b9j23x5jmZELL/mtr85e3NmUCW+tE=; b=eVovo6Yfe6DuARKNJFTLXI57i6LQWACyItfHzXe7C2AVbhj1DvSHKG6OEflkh/Rvi9 n19hIzlqjnAKeyfZ0d73osXD9sVu1o1GF5EfepQ1cJgnGimqN9ahSs3n3Pl7F3Q2JoGi qHR1t/NZCgo+DCTDPE3aVoynQ8OKSDPszI75GTf7uHsRDa9NV4KlUBRgGjhYOZHGjKTd ZGVUpBb3CWKtm6zozAw6HpGja9DIQjxZEEoB4svtB0EBnEh796dimngb6sawme70P1qg T9H6AC8VrKIRrbTDRff9iuVILXtW5ozAadyOww//RRbGJIBw4d43KLSMvTW02irteTKh 89mg== X-Gm-Message-State: AOJu0YzJSWe0fPpy2JCmBWSQuJLVhecEEoiGvpHfjAHjVW684H1poKSl 8n1H2LJwhuak/SPwXcmSYEo= X-Received: by 2002:a2e:90d4:0:b0:2b9:cd79:8f94 with SMTP id o20-20020a2e90d4000000b002b9cd798f94mr6669681ljg.39.1691419904201; Mon, 07 Aug 2023 07:51:44 -0700 (PDT) Received: from localhost.localdomain ([46.248.82.114]) by smtp.gmail.com with ESMTPSA id z25-20020a170906271900b0099b4d86fbccsm5392785ejc.141.2023.08.07.07.51.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Aug 2023 07:51:43 -0700 (PDT) From: Uros Bizjak To: x86@kernel.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Uros Bizjak , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Thomas Gleixner , Borislav Petkov , Dave Hansen Subject: [PATCH 1/2] perf/x86/rapl: Stop doing cpu_relax in the cmpxchg loop Date: Mon, 7 Aug 2023 16:51:14 +0200 Message-ID: <20230807145134.3176-1-ubizjak@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 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 autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org According to the commit f5fe24ef17b5 ("lockref: stop doing cpu_relax in the cmpxchg loop"): "On the x86-64 architecture even a failing cmpxchg grants exclusive access to the cacheline, making it preferable to retry the failed op immediately instead of stalling with the pause instruction." Based on the above observation, remove cpu_relax from the cmpxchg loop of rapl_event_update. Cc: Peter Zijlstra Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Cc: Mark Rutland Cc: Alexander Shishkin Cc: Jiri Olsa Cc: Namhyung Kim Cc: Ian Rogers Cc: Adrian Hunter Cc: Thomas Gleixner Cc: Borislav Petkov Cc: Dave Hansen Cc. "H. Peter Anvin" Signed-off-by: Uros Bizjak --- arch/x86/events/rapl.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/x86/events/rapl.c b/arch/x86/events/rapl.c index 52e6e7ed4f78..e8e26733e17b 100644 --- a/arch/x86/events/rapl.c +++ b/arch/x86/events/rapl.c @@ -184,10 +184,8 @@ static u64 rapl_event_update(struct perf_event *event) rdmsrl(event->hw.event_base, new_raw_count); if (local64_cmpxchg(&hwc->prev_count, prev_raw_count, - new_raw_count) != prev_raw_count) { - cpu_relax(); + new_raw_count) != prev_raw_count) goto again; - } /* * Now we have the new raw value and have updated the prev -- 2.41.0