From nobody Mon Feb 9 12:01:37 2026 Received: from mail-dy1-f202.google.com (mail-dy1-f202.google.com [74.125.82.202]) (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 8002E36EA8A for ; Sat, 31 Jan 2026 20:02:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769889751; cv=none; b=XYLhSmTTnd24mLZniPtIsbCHzCH7vFDkF6DV8Mw4u1VarODC9rjZOnrbmEX/oVYMFh28Fa+kQhpzSX/L3JYc2+F2WzrIGaSORS54RwWMamVOMhrnc/YnZvFBuEBGA7m7N9LF2HiPIvaa+30H7PlJ2qEHCnR/g5+pu3Cm+DYCUvk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769889751; c=relaxed/simple; bh=K/CPeSJdNznlVRFAe+IRwrvzwNL/FwQ7692V228ImDM=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=MIBCWdJxS6T1BHKZ2JGJ0EI2C3Kv7+kiNUkdP9wskKXK4vIhvjh9V4pTb4x8KWMhGimOeuR/GpDchkLotnExg+1cW+Vk2HFxUGa2A4mDlODWtLw83dsS82SXsJT/cUKudmH98QDq9LdQ4rdC8YorXpRjcNCFKUP1EEPfn4AyQJo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=3pDRCsXB; arc=none smtp.client-ip=74.125.82.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="3pDRCsXB" Received: by mail-dy1-f202.google.com with SMTP id 5a478bee46e88-2b795cff830so849986eec.1 for ; Sat, 31 Jan 2026 12:02:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1769889750; x=1770494550; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=QUC+WDnW7L44j8AWJ3iUoM1jUSgb/IrmAbWsvMnp/cQ=; b=3pDRCsXBHAOuSjCMeU7K6hiY1LaqGX5CYy2SH2q+fpVl9wU02tMa3L2rG1sYiDKprr gPFuBvSF4B784L4+V+mXiw7FKdinuVQe9fiyttRL+U61uww+K7WegsZucprF8rrSEf8I 9xJqExILH+It1v+J3pXIaUu5YcTkPnDG9EAKKd3urb4vaqyzXZ3L9RXZQJ8S7w2JvlMz XyKQTOxF9qf9Czg58VdiRUrnv8x8YuKKVVYjSvVzz6KPV5JfAIFUaqXLymtxjIuNoRck YvaLRKu9Kyyhnyvl2DY7+BwRmsAyAEFpg6LGWijdvHhkqtvsfAXfqXRaaqQ6KJAgnWIF Cv2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769889750; x=1770494550; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=QUC+WDnW7L44j8AWJ3iUoM1jUSgb/IrmAbWsvMnp/cQ=; b=Bx8zDyBQi5NEGgRP7Q8vywGfBbqCtgry8ZDIaorTSMBc6JM265W/vqvhMViYOIVXLe szu5Figb0A0EMXiI0pP3R4CFyNbgcFgNVGWhJPrIW35Sggh+ZdyNcjap7cGp/+NtzuiB 89Hvyjj9813mmE/yxqoK/Kbb0wXzxmnJgGeKyT3XA7Pk77ayENp76Uj8XzMbnD+3Dhd+ xnRtLcxKFrEmBWwR387COvoH8kCNqAxJ/siYH0hdIAbiNFVrqxWJeC99Zvd5+T9HkCzW 5kRjmU/YYR+6E8NBNvc4XWoJIS5QwN5JAJuptHqrRfzST7Vyexz9NfJ78csCUPor6Qxh AkJw== X-Forwarded-Encrypted: i=1; AJvYcCW3olPz8N0fO+CyFVBqRJ6KWTXdHoz4T6z5n76nR4uuV/ADOhRzn0OMhCEd1hlVE4d999HxX5r2bgG9tNY=@vger.kernel.org X-Gm-Message-State: AOJu0YxCWwDLc/19yHajBCUecjMGth1MfyILNXmV7achDqhemBWSYA+T KxhZwnP/e6C7be5T/TsUTtE3McHnPkcO2XwpvGl8ulMjb5AvCRMDMxj1XFUOUrubksnlR1yF+wV k9TofybCs7g== X-Received: from dybpg11.prod.google.com ([2002:a05:7301:414b:b0:2b7:499d:745f]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:7301:6095:b0:2b7:2d5e:3f49 with SMTP id 5a478bee46e88-2b7c865542bmr2862726eec.10.1769889749601; Sat, 31 Jan 2026 12:02:29 -0800 (PST) Date: Sat, 31 Jan 2026 12:02:19 -0800 In-Reply-To: <20260131200224.1296136-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260131200224.1296136-1-irogers@google.com> X-Mailer: git-send-email 2.53.0.rc1.225.gd81095ad13-goog Message-ID: <20260131200224.1296136-2-irogers@google.com> Subject: [PATCH v2 1/6] perf test kvm: Add stat live testing From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , James Clark , John Garry , Will Deacon , Mike Leach , Leo Yan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Shimin Guo , Yunseong Kim , Athira Rajeev , Quan Zhou , Andrew Jones , Anup Patel , Dapeng Mi , Thomas Falcon , Blake Jones , Swapnil Sapkal , Kan Liang , Howard Chu , Anubhav Shelat , Aditya Bodkhe , Chun-Tse Shao , Andi Kleen , Dmitry Vyukov , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Ensure the `perf kvm stat live -p ..` has some basic functionality. Signed-off-by: Ian Rogers --- tools/perf/tests/shell/kvm.sh | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/tools/perf/tests/shell/kvm.sh b/tools/perf/tests/shell/kvm.sh index 2a399b83fe80..f88e859025c4 100755 --- a/tools/perf/tests/shell/kvm.sh +++ b/tools/perf/tests/shell/kvm.sh @@ -7,9 +7,10 @@ set -e err=3D0 perfdata=3D$(mktemp /tmp/__perf_kvm_test.perf.data.XXXXX) qemu_pid_file=3D$(mktemp /tmp/__perf_kvm_test.qemu.pid.XXXXX) +log_file=3D$(mktemp /tmp/__perf_kvm_test.live_log.XXXXX) =20 cleanup() { - rm -f "${perfdata}" + rm -f "${perfdata}" "${log_file}" if [ -f "${qemu_pid_file}" ]; then if [ -s "${qemu_pid_file}" ]; then qemu_pid=3D$(cat "${qemu_pid_file}") @@ -96,6 +97,32 @@ test_kvm_buildid_list() { echo "perf kvm buildid-list test [Success]" } =20 +test_kvm_stat_live() { + echo "Testing perf kvm stat live" + + # Run perf kvm live for 5 seconds, monitoring that PID + # Use sleep to keep stdin open but silent, preventing EOF loop or interac= tive spam + if ! sleep 10 | timeout 5s perf kvm stat live -p "${qemu_pid}" > "${log_f= ile}" 2>&1; then + retval=3D$? + if [ $retval -ne 124 ] && [ $retval -ne 0 ]; then + echo "perf kvm stat live [Failed: perf kvm stat live failed to start or= run (ret=3D$retval)]" + head -n 50 "${log_file}" + err=3D1 + return + fi + fi + + # Check for some sample data (percentage) + if ! grep -E -q "[0-9]+\.[0-9]+%" "${log_file}"; then + echo "perf kvm stat live [Failed: no sample percentage found]" + head -n 50 "${log_file}" + err=3D1 + return + fi + + echo "perf kvm stat live test [Success]" +} + setup_qemu() { # Find qemu if [ "$(uname -m)" =3D "x86_64" ]; then @@ -148,6 +175,7 @@ if [ $err -eq 0 ]; then test_kvm_stat test_kvm_record_report test_kvm_buildid_list + test_kvm_stat_live fi =20 cleanup --=20 2.53.0.rc1.225.gd81095ad13-goog