From nobody Sun Feb 8 17:28:56 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9D28F3590C3 for ; Mon, 2 Feb 2026 11:18:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770031084; cv=none; b=tvhMth3iTXQgHPH5dnS2Slf9DecF+W5GRFT60EFOcdzvgKZ5vyoh3lKJ7fB4EkQnPyKgb2xD8SUVr651jRCoacG1MIUdht6mX6gE91vabgVr6eDRLHkkDydr0RrT/R1zeSMI7vCDgLcWpynIM5O3MLjOnB2IbOgA5OuM7k49Pqs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770031084; c=relaxed/simple; bh=JSwlaJuSmvG1RtjK+9L/dsEVDHhEiHC3E6ttw/jwti0=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=H68INXerlRrP2i8qnvFxTtqXIX1WtvxEe7rLxtqOzVbBnAO93cGVw5DWwfQuZ+19/S8sIS4RIodu9J0evUxTdFDIKCoI21F//o0cyIfcb+f+h0wvPQovQsDBtjczagkqAlqTN7fYuvD/EM1wxNoldI7wvReDA2YHUWk32JU+Fjg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=JW0l9+Gz; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="JW0l9+Gz" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-81f47610542so2355937b3a.0 for ; Mon, 02 Feb 2026 03:18:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1770031083; x=1770635883; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=QyoII6nqzBeIWsDGEglX8EZ/BM8yJuMFD3qz9JYR7y0=; b=JW0l9+Gz5TArnFI24SS3yoxkP6gY3T5v5PQhx7rINjrCbQc8iEt0Y+xI0wU8DVwwnv 5etVk10PWhJiWMPTKWFekf5YBNQyCZYWzreRP2MjFsuTEQ0F4aQUTnnTqBE6QrUEvXFa oMmsCEtK/954YHzxdUkQUeZFN9vkd2jTlEH6igbQ5fBTi4ztLEujhIbzr3Qy9EH/Nsfm 16uOqUmBgklLVup5kfRi4CgpAAyQU2UmXxTnyusyVKHQO1cgr/WOkUp3nzZQIh3DxPpz sHcBX+R2oEaO8qJWs4L92azG7YgClMWEy2AfzncJqlcS4rK/VIU551gCVcBhHWy+QA0s udNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770031083; x=1770635883; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=QyoII6nqzBeIWsDGEglX8EZ/BM8yJuMFD3qz9JYR7y0=; b=b2c2VTVuTCea15ArvLHq4XVxaQkBkhZ87u8Abyyq+yiRSYbgoq3wVPKvLj1+aT90VM BN78xnMlSJKVue6JT53ujw2zs3LXF3wouuGXBBINVh3AGIPenf10Sot0fR1SdqHQCID9 Ozlw82jtvw7k7t8DHZ8xyLDqqj4RepHH4KhB6tFN6yyFNowg/k+yMeCJoNwvRFrvAxWA PkEf4Lk8F/lnBFd9XpkEt/+/9lhKDKgwUfbSygZ2jgL8dkJ2307hPTFhu6H9JMqWJRv0 46bOKe+yjzlTQ8JABb6A0/7nrEOjxVG2S5uPUNMaHvfGliW56X4wph6QL7DfQK1nQO88 kw6g== X-Forwarded-Encrypted: i=1; AJvYcCX7Y4ahHxFtVvWlehGYkVZ+nVLbQt4RR7+aFu4T+bGBXAA9VDQ8kciaF70/Z3wVPAmDReVH6FXguEf4ZgU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz43lECKhLjcIqFmyCluwQLc++gpgqfulwNtsU3hJ8pKOzSWRdW IrNWPjsS2LX85mij27nu88tZBK+cS0ImL2QPqMqz6vpEas6WcZ2jFM6bPIIy+P/7a68= X-Gm-Gg: AZuq6aKRNFtNIIxaVq+PapmacCLjpKniX9sIPMHFz2gKC50boArEzbljl6GBquJYzL2 MTFr4zAqE0rpfZjs8oLJqy966hLxOYLYMbCL/XGBL/HdW4oS+Yr2K0dYz9GzLFeWL5VPX2kxbg+ w/48lA7CGc4cdCE+EhGrYQRqk8aSKLDOe9UlHvYoEy6iSUaShvl8fm/zxXxJZH08yy6jm+YlU/F lbPCAwLTpzrIGPbDTcNFU3/VUO10qLUP5m/iLmMKP39dhv6hmXqFOu6MNsAeKiyfq1ETz7By7f/ fnf7TM8pwcJTXEvZQYAIOmgw+qKftj6xz9wl0QuL6h3o7H/9aI/9TqSQ5wCzF+7eaHAWPF3uW/r CiHnf9hMqzY25hBAW8FYVW0Ldya2lRQ4L2+sFS6ozFIJCvCY+es8LiPCc8nG+UDyyJ12r63H+YM FkLtg= X-Received: by 2002:a05:6a00:1249:b0:823:9b7:9c0e with SMTP id d2e1a72fcca58-823ab75f14cmr11353585b3a.34.1770031082825; Mon, 02 Feb 2026 03:18:02 -0800 (PST) Received: from n37-012-226.byted.org ([240e:83:200::8a]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82379c32944sm16015811b3a.57.2026.02.02.03.17.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Feb 2026 03:18:02 -0800 (PST) From: "qingwei.hu" To: atish.patra@linux.dev, anup@brainfault.org, will@kernel.org, mark.rutland@arm.com, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr Cc: linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Qingwei Hu Subject: [PATCH] RISC-V: Skip stopping cycle counter Date: Mon, 2 Feb 2026 19:17:28 +0800 Message-Id: <20260202111728.4067036-1-qingwei.hu@bytedance.com> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Qingwei Hu In the riscv_pmu_sbi driver, pmu_sbi_stop_all() is intended to stop all available counters. However, counter 0 (the cycle counter) should be excluded from this operation because the counter may be used in user mode by rdcycle. Signed-off-by: Qingwei Hu --- drivers/perf/riscv_pmu_sbi.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/perf/riscv_pmu_sbi.c b/drivers/perf/riscv_pmu_sbi.c index 7dd282da67ce..2bc0050dabd2 100644 --- a/drivers/perf/riscv_pmu_sbi.c +++ b/drivers/perf/riscv_pmu_sbi.c @@ -900,11 +900,15 @@ static int pmu_sbi_get_ctrinfo(int nctr, unsigned lon= g *mask) static inline void pmu_sbi_stop_all(struct riscv_pmu *pmu) { /* - * No need to check the error because we are disabling all the counters - * which may include counters that are not enabled yet. + * No need to check the error because we are disabling all available + * counters (except the cycle counter) which may include counters + * that are not enabled yet. + * + * Cycle counter is excluded because it might be accessed by user + * mode via rdcycle. */ sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_STOP, - 0, pmu->cmask, SBI_PMU_STOP_FLAG_RESET, 0, 0, 0); + 0, pmu->cmask & ~BIT(0), SBI_PMU_STOP_FLAG_RESET, 0, 0, 0); } =20 static inline void pmu_sbi_stop_hw_ctrs(struct riscv_pmu *pmu) --=20 2.39.5