From nobody Tue Apr 8 12:59:31 2025 Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) (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 82E83EED8; Sat, 5 Apr 2025 14:18:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.193 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743862691; cv=none; b=etXKw+dn10jZZ0X9wQxj1jAwDJGgcE9TphYKaAJEhl4/lnXAkTbUNjYX9vSDoAak6/rfvbGdx6BMl+yZzvbhCln7sArwEAeBXeZB8wrq43+vWPmNuxIzIZOHh2SaWWztm5V+7yKsljxtZ2XrooeGIfsUgi7NPh+Mkngp6QLqsNI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743862691; c=relaxed/simple; bh=RYogpzNb+dyDpBToF2VgTMzylKQ0FC1QSxDg136hEGU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MaRtgCkX8h0ciEOcvb/eZvrsXiAajwoEfCb0sRH6nxF9sPx6YuShwCBoBao8LokWYNodihrsLy6wmXOocA5DYZdVP8l9KYMCykI0Km2N3TRzYCOdiuYAxRSD4YE/ybKTl2DH9zhD1SYsnNVQfa8mofWDNr8JSdLo7P6tjlHOIHA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kb8v3RMv; arc=none smtp.client-ip=209.85.214.193 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kb8v3RMv" Received: by mail-pl1-f193.google.com with SMTP id d9443c01a7336-2255003f4c6so27453535ad.0; Sat, 05 Apr 2025 07:18:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743862690; x=1744467490; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WnUeLjT9fP32JkaxPR9vv84+FGSPWB+gaQNbEYbIN4g=; b=kb8v3RMvnn6bKpS3RWafegWK+e2JYMhiJdqV5sFYQX0ivFNp5xijmW21D5d5t1A/hL qFH9b1L3616lVvI5H3eeoGAshr9inGI7G91+XlFT25mimr1LjFjRSnDvlEnjei5vkcD2 4zeTALft1TNm5Kv/f07oXurTF8COFWXGhzXF4F5Tz0Nu86+ccl2hNdTSJdOt8zlRTj2y gmg+InWNVJ//Ol7SxLr6gdaLqyn/Syw+88G5jFjgBeUSxmua1lYYErncfq90JS8fOxIv BDyeWOWL2KEocG3YbRh/FDeTSNP5A+yQGlvF2xNPuWVcmJhr8dDOq23nNxGlXEdLMZk4 ybrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743862690; x=1744467490; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WnUeLjT9fP32JkaxPR9vv84+FGSPWB+gaQNbEYbIN4g=; b=ksvFXmZ0gJgdvOzWeHeNKevvOPycssueH2fpSPoxMjhXcDRugRAU6KYu+PUZj1VbN0 iv25uy/4XCQUoi3Ms89bun6G8DhCWy5Od9AZ0eLVQXU7eRF2GJKnPp7BsiWCpVKRAMrz dYuc7wjQa0BeptAAJc7MHtJ3HvbHZKO7kiD6n6MFvRgnvhnbInfDlW8B+ZdHydIxXz71 AHxPEUt9FwLfvZzDRZC/cJ/YXgIREslYJCLDwj3fGIw6ByALfjviiH3IkUaS4x+6c6Cm jVMHi4lBRAOTCfXY98zrw0C1Q2n58DOE+CTPP3COxlsbS/eucEFKwg0ObvUmY1nraSZP Ug7w== X-Forwarded-Encrypted: i=1; AJvYcCU8OvuRPFFFa5CVY2rPNt0Qvb/sPqFJJHQM3A0VpsfrRYNvwtOMKeH65pDxvSywEnc0ydd2GFm5nCNj1Fa9S7uM4A==@vger.kernel.org, AJvYcCXQeKO7QO92phKOxMek6p3F0tCEJVx/tSFjgRWlWcUot+eHI93qyP7Pm8OS8qeErzeeRwKrACwNKUlADYg=@vger.kernel.org X-Gm-Message-State: AOJu0YxsH2FYt+4mpuHPFKSmHOWsB52ZlBErg65A+Ea71Ded7k/6HQ6p yM480fcam8iw7W0NCdNyTYzUKzYWNpR6IMGCzkyFKtqEXHUoJO2x X-Gm-Gg: ASbGncs6iMAgUmpFRuluYlZBAxYxhySw3O7akdFCDoeEYHmclAa0hCVySx0FrrpeaqC M6CU8k/ScE5Ow1J1Qdw8sBPEain/z30qkyWLC+c6Qi4uRMyCWy+0HCMLxp60ywWJFdTpmv4KsDe zCe+SpW4NKrk2PduqW7opZ2yLys0/gmornuhX35Yk1BKQx6yxlHFEys11U8QtBn9KLDZ9rqtugE hcgTikn8yT1gLj2+ONcKYGxqhsnJ5QmN+KicnoqzxRFXl2zpNIgRbTWEOdlrPK0PVwNxspF9amB 8yau4UcJpvstyZilT3mvb2YsDvZ3SqItBqIA5nDpl1wYTQ9TsO5KXu0WXToF X-Google-Smtp-Source: AGHT+IG1bSLmCqtU0Pe50nPPGZyI7JsHOdb+YY+DlUZ0ff5jxgC65/9P9e5KWsNLdbVKcSifIg1I9A== X-Received: by 2002:a17:902:d4cb:b0:227:e980:9190 with SMTP id d9443c01a7336-22a8a0b374fmr104431645ad.44.1743862689679; Sat, 05 Apr 2025 07:18:09 -0700 (PDT) Received: from localhost.localdomain ([27.38.130.242]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2297865dfd7sm50208505ad.136.2025.04.05.07.18.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 05 Apr 2025 07:18:09 -0700 (PDT) From: Qing Wong To: peterz@infradead.org, mingo@redhat.com, acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com, alexander.shishkin@linux.intel.com, jolsa@kernel.org, irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Qing Wang Subject: [PATCH 1/2] Revert "perf/core: Fix hardlockup failure caused by perf throttle" Date: Sat, 5 Apr 2025 22:16:34 +0800 Message-ID: <20250405141635.243786-2-wangqing7171@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250405141635.243786-1-wangqing7171@gmail.com> References: <20250405141635.243786-1-wangqing7171@gmail.com> 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: Qing Wang This reverts commit 15def34e2635ab7e0e96f1bc32e1b69609f14942. The hardlockup failure does not exist because: 1. The hardlockup's watchdog event is a pinned event, which exclusively occupies a dedicated PMC (Performance Monitoring Counter) and is unaffected by PMC scheduling. 2. The hardware event throttling mechanism only disables the specific PMC where throttling occurs, without impacting other PMCs. Consequently, The hardlockup event's dedicated PMC remains entirely unaffected. Signed-off-by: Qing Wang --- kernel/events/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/events/core.c b/kernel/events/core.c index 0bb21659e252..29cdb240e104 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -10049,8 +10049,8 @@ __perf_event_account_interrupt(struct perf_event *e= vent, int throttle) hwc->interrupts =3D 1; } else { hwc->interrupts++; - if (unlikely(throttle && - hwc->interrupts > max_samples_per_tick)) { + if (unlikely(throttle + && hwc->interrupts >=3D max_samples_per_tick)) { __this_cpu_inc(perf_throttled_count); tick_dep_set_cpu(smp_processor_id(), TICK_DEP_BIT_PERF_EVENTS); hwc->interrupts =3D MAX_INTERRUPTS; --=20 2.43.0 From nobody Tue Apr 8 12:59:31 2025 Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) (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 CD0A0EED8; Sat, 5 Apr 2025 14:18:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.193 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743862700; cv=none; b=Xt0uCU5Z9bJnsCi8rMTRqmuPsRIlWPxmwTa5mOdDw2xV6EwNZX0fP9Kmgz2NMpRewvfVbQe+jvUS0YFqJrR/gymMEd0CRkm6O5OVGPstyCGvjTGkOeJDvYNkki2uta60WAy1bQ7W+hghqtbxGVeiQzvLi9/Djqcz5Fi4FNLniZA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743862700; c=relaxed/simple; bh=XEjfPkQ0xDf3298mOZu4CUGzRm/UeFS1ndsXjAJED9c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IM8PeYIxjg6EgGFJaNI3RzyZ/S9e7qArW6UUU+m4uhhycJ/GFQcbEi2ZkjpYrJCrIp+zuJCqtpy3f06FDIp3ZZbRCYTv4RKQbTHIq/z+eigG7znIm0VRmPQtoaphl4bWUgD9xEIRziLN8B8jBMKzwT5hgMqOYGpM56h0pcn5YoE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DEjxiEWq; arc=none smtp.client-ip=209.85.215.193 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DEjxiEWq" Received: by mail-pg1-f193.google.com with SMTP id 41be03b00d2f7-af9065f0fc0so1992052a12.2; Sat, 05 Apr 2025 07:18:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743862698; x=1744467498; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Flo9A1xpfb3u2VecU2C1QdOzijhYyfyrS/0Oo29D4es=; b=DEjxiEWqkMZ4G7pV1ahoHKVYvnlGh8SjhffZzWKas61bjnueWqEfGqszGC8W7X6VB9 Dc7ArQN3DVbmaZGUtwUia5+uLY5G524Yt4Q5QL5CQAdKJZ21vzu2nrCkbjm9wdbr8NKO MCik7qDINhB9IKCllr/6xQlDBmEwVPBUrp82UP13J416gHClbxs98lzuGJ+UU//e+0YK zbnQgSA2h3nR2H2RpeS8tqcwFXqhQzBNxkctByYfK1eD+rCOcYc78vvPCfOtoNOrZjrE hGuxlnDLYX9CPkFDDxSXs4fd7P0od1GICdIQCwHSeE12KnIXK/ULeRwPyVptiBWW0pCH VWlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743862698; x=1744467498; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Flo9A1xpfb3u2VecU2C1QdOzijhYyfyrS/0Oo29D4es=; b=coE5WUbT3dn621JcdacLKcIf7kONkrVpOaJvf0TRoHTk/5MbU84YLudOg6rNcR16MK F4wjF8k4nqeMoxTnBQDu0cDDj0emGFrjPdtSlHQL0F+S0W0CF3UTYGwvv8Ytk6QU972B 5cJCT2WCfb1dlzPZQ0lZa6JzxVuJz+ICodVjJJJMD3kozK3crmAoJnoeNrvCa4+P04w0 sebS6huWwKFjk0P+hiuBeFwLROqO/X1Q4nqDi99/DAp47hlr+08FUYHNyMknymTYVAdo cy+omPPoXu+y4+4Oh9+rrv7iCuKvThiLkNpSKlomB9J70RJvuDfaAzJFjqOkIHFNe1wC WdeA== X-Forwarded-Encrypted: i=1; AJvYcCWCG7g52lhKp7Hd6U7WTgkuZ4TkXv1rWchccDy6JzEhe8SGCIH+K72Y3v3U4aMl3d29hhSMRyqr0f+mgUA=@vger.kernel.org, AJvYcCXblX5Om8rTK8ckeloCtZYZtELQAuJ+p7AQtZEmlDgku23yVoeKgCe2U/swz9sLnL0tNXzgeG1WbLPcxB2IeV+Pmg==@vger.kernel.org X-Gm-Message-State: AOJu0Yxp4pb4JFL/U1IFuSxMVySqYH8tV7aphv1DrPadxaT/asvfHFiP wdkQzSA69Bn0kO8a8lK8z05ZXfxypgbxQ2HfVQuVBO2HDIlUqSHp X-Gm-Gg: ASbGncvMTyK20QcAiGw0D7mKtpX9PkmvYiajdcSRB7Sfc3j9/Lol49PxMD4X71yIiBe y2rMqTsbl0gHVtKt0SvYXSR6aqbiePe+SB7gwjLdBo6XLR1cYZa0+qBHi/Dw492bV/dgO5mK8J9 ORtqr0uMxTwAz+9SucYxZJBDtzpNPCjm7797WwrF6UmytiUCfx+Vu2T2Mb/genRs3B9eA9zOrwr 4rarx+JQviI387YSIQicAqTfYz6UFcBU/6CE9vo99I/TOUbdzHsrbWClXokfpF4NX1SfEK0T1yL rbmEG8PRIcwtDr8ivD0pEEqvu/UfomPOylOcZSEsDkvX6mrWhUaGtuIJdcAB X-Google-Smtp-Source: AGHT+IG1l1fUb+vj79kWm4gxgX7cPBckhYi8BFLzhtqeH8SfToaC5EGkGpV6VDxUoOHz/fYbKD/+EA== X-Received: by 2002:a17:902:ce06:b0:224:3db:a296 with SMTP id d9443c01a7336-22a8a047ba3mr102453765ad.2.1743862698009; Sat, 05 Apr 2025 07:18:18 -0700 (PDT) Received: from localhost.localdomain ([27.38.130.242]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2297865dfd7sm50208505ad.136.2025.04.05.07.18.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 05 Apr 2025 07:18:17 -0700 (PDT) From: Qing Wong To: peterz@infradead.org, mingo@redhat.com, acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com, alexander.shishkin@linux.intel.com, jolsa@kernel.org, irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Qing Wang Subject: [PATCH 2/2] perf/core: Fix broken throttling when max_samples_per_tick=1 Date: Sat, 5 Apr 2025 22:16:35 +0800 Message-ID: <20250405141635.243786-3-wangqing7171@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250405141635.243786-1-wangqing7171@gmail.com> References: <20250405141635.243786-1-wangqing7171@gmail.com> 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: Qing Wang According to the throttling mechanism, the pmu interrupts number can not exceed the max_samples_per_tick in one tick. But this mechanism is ineffective when max_samples_per_tick=3D1, because the throttling check is skipped during the first interrupt and only performed when the second interrupt arrives. Perhaps this bug may cause little influence in one tick, but if in a larger time scale, the problem can not be underestimated. When max_samples_per_tick =3D 1: Allowed-interrupts-per-second max-samples-per-second default-HZ ARCH 200 100 100 X86 500 250 250 ARM64 ... Obviously, the pmu interrupt number far exceed the user's expect. Fixes: e050e3f0a71b ("perf: Fix broken interrupt rate throttling") Signed-off-by: Qing Wang --- kernel/events/core.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/kernel/events/core.c b/kernel/events/core.c index 29cdb240e104..4ac2ac988ddc 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -10047,16 +10047,15 @@ __perf_event_account_interrupt(struct perf_event = *event, int throttle) if (seq !=3D hwc->interrupts_seq) { hwc->interrupts_seq =3D seq; hwc->interrupts =3D 1; - } else { + } else hwc->interrupts++; - if (unlikely(throttle - && hwc->interrupts >=3D max_samples_per_tick)) { - __this_cpu_inc(perf_throttled_count); - tick_dep_set_cpu(smp_processor_id(), TICK_DEP_BIT_PERF_EVENTS); - hwc->interrupts =3D MAX_INTERRUPTS; - perf_log_throttle(event, 0); - ret =3D 1; - } + + if (unlikely(throttle && hwc->interrupts >=3D max_samples_per_tick)) { + __this_cpu_inc(perf_throttled_count); + tick_dep_set_cpu(smp_processor_id(), TICK_DEP_BIT_PERF_EVENTS); + hwc->interrupts =3D MAX_INTERRUPTS; + perf_log_throttle(event, 0); + ret =3D 1; } =20 if (event->attr.freq) { --=20 2.43.0