From nobody Sun Feb 8 05:35:02 2026 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) (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 DC73633CA; Sat, 23 Nov 2024 00:55:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732323319; cv=none; b=Y8yfx1hNXc1gSSo6MXbkRoQHB/i7UCro4zjpZTzCLyVxsVhGKsOTj2j9bGjSmtLt4HJjcTQS7vjsSF0rJgVHNzpZtJ78pFWYJTBYSD9t/+AYsoaMesGdPphsblZCWlSVbKqfwrS2BnOKZB5wKemNijYtoDEmPgOrNDRyenbGOhc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732323319; c=relaxed/simple; bh=ZELMqUxSMS5L2VRgPfYPExyjo8Dd7Hn80gjtiWrvQXM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Z7qvDTpVn88plLr7ec/mHlmcwPUWFSmHFwQ1/AC4+V2E3udZnd24QkK0bmhFCKBjSFjg7VzeVS2ujL3sTnj7xL/EQwzXvwn3bv1ejFetS4O+Do49+iabxdMb5jjaXvLDI9rbvgTyuSQPNQxSImVtnRf1NHrzE7poUVQP/3zO5UY= 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=l3n3P5SI; arc=none smtp.client-ip=209.85.210.172 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="l3n3P5SI" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-724d57a9f7cso2063721b3a.3; Fri, 22 Nov 2024 16:55:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732323317; x=1732928117; 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=3ylEP5NEMX6Gjh501UBumaT2c/H2toXVxFjaH68g1n0=; b=l3n3P5SIdyf4fFoQBeNkheCT9qjL4iFabzbpedpDyFyzvHaWiDxl+zAYdYeGrjCUhD Ab/rjxFuSWztYYebGB/vA15BFeUmYUiHWhNcDHstMuWxuxWL1/DrzmofzRQt9BcPF2Ge Ji6laMJbsPEoJg0tOUGJ9nAFG+tI5Ts+9CWlu8rdVL+ewhiLs/atScf9KC5vADAagBJ+ MHlulijSqwgMR3UR3/oyzeoCBb8PSi1gtseMH+IJ7hayRcoPNaO73xxLWd6XDOMIk/Gf yiA9NsJnOJFCtKuUdeWm2pBzgrh32uxXa8tWM9O3h6YlOFucP3dCnPJEL8trb/MAo1HF iUgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732323317; x=1732928117; 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=3ylEP5NEMX6Gjh501UBumaT2c/H2toXVxFjaH68g1n0=; b=VyUpuMMshfSL1Z9BYeg/APg9QyGkREFX/0HLnyOFnaPJtzUeOMXN6nos5qlcWbxBIi M521qElJIJDhEH6K+dJe11n5Nz86Dd5w66HjSje7cG5zG3GRwulpHiL+IF+Q+rvUMqq8 7Pu5hIIapoBddKx8IGk2Ot228qHoCubFAYLVF/pe6oPoLlU4Pxx2MU2VHniCQRwzu4DF 2l1ykiwVvRcGEtjZPi1ouImWFzEfuhYm3aYrVOXNKm9+dHkdjd/+hHITKOTUQPJ4fPoT tgJG+tfOer0eg6oBgjuJv59zzTRWetbsKnAmnQztqSj8zQO1pU1Z4v90rWDDbJ2G3f9M +ETQ== X-Forwarded-Encrypted: i=1; AJvYcCVmQK9HS2U0R07otVJVJjssGvS02zTIpq8v1nmZlld16oR70YpzV11yCWBv4Y6ijTGRagSVNKdDAFYAXSTLIbutQQ==@vger.kernel.org, AJvYcCXAUCrv4AwtyRhxzBVpmany9wsJpDaKsqq0d3KJTvZfR4i+gTT41QxFq8KcN9Cx4f1LowdHmlWJZiRrH3I=@vger.kernel.org X-Gm-Message-State: AOJu0Ywt2FsLBsyEIJJj4wGdGRm7KJsVzySKUUwYWQYQ6DHZkrCZt9Lp YPZg6Cq5xhfZJWcaOf6swV1B0xyNZytX1EcyR3P7KkDf9uNA0Dm8 X-Gm-Gg: ASbGnctYIfVvlzOi/M4mAw1kjvYkl0hKI8bBh0xXxWpMbpIoknj+d8r+RoZ/DeUidPA 4kdOM225hwAqYEWz/TQnHB8wbQXRNO8hqXlICMP6Q9WsscIkBuvi8cq0aPi3tymp+Ft7f+/HL9q Xu5at5tW+WYmrfMbIVXzZ6jU0Oj3hyV69/2+WkqW8V8aub+HZPoAZOykwp5BLjvGXXSkH+S2Dmb sCfSzwTrcA3PqM9hEc6c1HkPNeBeBiuIpRTr9YxZNpCBegEJ+VO+yT3NznRE4AEDNnAA8EI29bJ IfrICc5eJf4= X-Google-Smtp-Source: AGHT+IFpdx9YJkpZA5dPCv+925nHB0zRyoPrCideIx/5n1l5fKotGr/tuel0WCBA3TlUL0EXENnx7A== X-Received: by 2002:a17:90b:2f0b:b0:2ea:7cd5:4adf with SMTP id 98e67ed59e1d1-2eb0e890892mr5507804a91.31.1732323317091; Fri, 22 Nov 2024 16:55:17 -0800 (PST) Received: from mbp.lan (c-67-174-206-244.hsd1.ca.comcast.net. [67.174.206.244]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-724e0fca304sm2082867b3a.175.2024.11.22.16.55.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 16:55:16 -0800 (PST) From: Howard Chu To: peterz@infradead.org Cc: 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, Howard Chu Subject: [PATCH v1 1/2] perf trace: Add tests for BTF general augmentation Date: Fri, 22 Nov 2024 16:55:10 -0800 Message-ID: <20241123005512.342079-2-howardchu95@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241123005512.342079-1-howardchu95@gmail.com> References: <20241123005512.342079-1-howardchu95@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" Currently, we only have perf trace augmentation tests for enum arguments. This patch adds tests for more general syscall arguments, such as struct pointers, strings, and buffers. Signed-off-by: Howard Chu Suggested-by: Ian Rogers --- tools/perf/tests/shell/trace_btf_general.sh | 68 +++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 tools/perf/tests/shell/trace_btf_general.sh diff --git a/tools/perf/tests/shell/trace_btf_general.sh b/tools/perf/tests= /shell/trace_btf_general.sh new file mode 100755 index 000000000000..7bcca81a40d8 --- /dev/null +++ b/tools/perf/tests/shell/trace_btf_general.sh @@ -0,0 +1,68 @@ +#!/bin/bash +# perf trace BTF general tests +# SPDX-License-Identifier: GPL-2.0 + +err=3D0 +set -e + +. "$(dirname $0)"/lib/probe.sh +skip_if_no_perf_trace || exit 2 + +file1=3D$(mktemp /tmp/file1_XXXXX) +file2=3D$(echo $file1 | sed 's/file1/file2/g') + +buffer=3D"the content of the buffer" + +trap cleanup EXIT TERM INT HUP + +trace_test_string() { + echo "Testing perf trace's string augmentation" + if ! perf trace -e renameat* --max-events=3D1 -- mv ${file1} ${file2} 2>= &1 | grep -q -E " +[0-9]+\.[0-9]+ +\( *[0-9]+\.[0-9]+ ms\): +mv\/[0-9]+ ren= ameat(2)?\(olddfd: .*, oldname: \"${file1}\", newdfd: .*, newname: \"${file= 2}\", flags: .*\) +=3D +[0-9]+$" + then + echo "String augmentation test failed" + err=3D1 + fi +} + +trace_test_buffer() { + echo "Testing perf trace's buffer augmentation" + # echo will insert a newline (\10) at the end of the buffer + if ! perf trace -e write --max-events=3D1 -- echo "${buffer}" 2>&1 | gre= p -q -E " +[0-9]+\.[0-9]+ +\( *[0-9]+\.[0-9]+ ms\): +echo\/[0-9]+ write\(fd= : [0-9]+, buf: ${buffer}.*, count: [0-9]+\) +=3D +[0-9]+$" + then + echo "Buffer augmentation test failed" + err=3D1 + fi +} + +trace_test_struct_btf() { + echo "Testing perf trace's struct augmentation" + if ! perf trace -e clock_nanosleep --force-btf --max-events=3D1 -- sleep= 1 2>&1 | grep -q -E " +[0-9]+\.[0-9]+ +\( *[0-9]+\.[0-9]+ ms\): +sleep\/[0= -9]+ clock_nanosleep\(rqtp: \(struct __kernel_timespec\)\{\.tv_sec =3D \(__= kernel_time64_t\)1,\}, rmtp: 0x[0-9a-f]+\) +=3D +[0-9]+$" + then + echo "BTF struct augmentation test failed" + err=3D1 + fi +} + +cleanup() { + rm -rf ${file1} ${file2} +} + +trap_cleanup() { + echo "Unexpected signal in ${FUNCNAME[1]}" + cleanup + exit 1 +} + +trace_test_string + +if [ $err =3D 0 ]; then + trace_test_buffer +fi + +if [ $err =3D 0 ]; then + trace_test_struct_btf +fi + +cleanup + +exit $err --=20 2.43.0 From nobody Sun Feb 8 05:35:02 2026 Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) (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 4EDF3C148; Sat, 23 Nov 2024 00:55:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732323320; cv=none; b=c5f1/TjODuD2hFz+5y6QMufTpq8IEiUwqC/EhzayuNuX7WatcD2kZRcelP+o6gREZ5jSjuFSLQhLG8GuEdmyLTYU5rhWjZqVsGkBRSBXX03nmDF9r2o6hAUF1QAZn4k44p0N3Mo0IkGM6cJMAkzLnUdG9tA6s7gn9Jeh6vbYbiU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732323320; c=relaxed/simple; bh=PebzL4iJo4v3MPtoAbmSTmI6zAX4+ZAbZ67kw909KyU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=M91+fSAoML39xarmy+1Xk2rmUmaHCbjwPMQYriqTvGkdpLeayQdGC9W/Mu7ClQW/YIcl2XPyk6S39iHddihZz2mTbc+jTlrj7mN44E3WW3OKIXWbkF2rso9D8zLnLLqJ4BwG8lHYLwaKp8H9aNvy759kQK/N9ImEi/eclaglRSo= 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=jZQLJcLU; arc=none smtp.client-ip=209.85.215.182 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="jZQLJcLU" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-7fbc29b3145so1604596a12.0; Fri, 22 Nov 2024 16:55:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732323318; x=1732928118; 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=ejdsA3LiRT1wCslfDraOcPVuluASa+i3xrjQ0MCRvvA=; b=jZQLJcLUVb61JnhTn4JF0bXi1eZ0GZzo/1Ssi7qif8d4LVnoPBtsCTH+H1bojKDKl7 67wSnTzq4mxoWptQVytriA13qn5gTixzw4nq7vD+8ExqntvP/V75WZ76dqp7WkaZEs1v jvxGpc9eCyX49DS3XjBJuwSOK81iPHBsZQqzgFUqAb297yeZAT4tklErq16ZZPvAcK3Z /Hl3J8YFw7+iooCYgLz3LwxaMuczy2GXAI9mjoDz0fMmcIQuJ87qT9X63vQBaD3jYkRe CbRX2T3gACTy14wuMFhBuH0+PihSAYSO4v4TO52wAEh1sIPBDomVs5qcbIxJp3ArSR4B aGOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732323318; x=1732928118; 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=ejdsA3LiRT1wCslfDraOcPVuluASa+i3xrjQ0MCRvvA=; b=FT9ZUwbLPvVfnI2dOi4VknEOms4OwML+ZH42uMxr2QPJVC96Oc3PVhSq5w8EXY4/Uj M9hfYMDCUxQoDfO1AloMNM3bPqPK9d8PuTFJGuEMtfzA61bAOKtviQJlwRaUhGyH6pE+ BOl+PQIFRh5NoQ+sYACrsh/Q+Fn4C5pjJhCch7R2dGHjH8czog5F/WXPP/B/xdey1Hak X/QLpkFmQpqSxWXfrkFxUjDiD/7Q7JyInhZObccOsCLZmJ8NYc6dxfib8OFuW9oqozXX WCNoG/Rz2mQ16WhflKWmq9h4Kq71AAqrjz0Kcf+KMewVFf3UEnccb25vw9UumCmLsRQp sTlg== X-Forwarded-Encrypted: i=1; AJvYcCUxoEqQ8rd/JMqiZGCO0kVZS4t/6THIx7Unf6M6u0RRZMG1ndk28KVpquTefbdanW3LtLr1Hd8vniaMbSwlyr+q9Q==@vger.kernel.org, AJvYcCVq+OkmM4X1EEzc5Q0Ua+SXaXY3ySlfwbu+SQ2eEIxqvJ/t/dDvlU92TLfL3uvCjLdOqQ9IyodOOJmbfmk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw0XmJxcaMOYgXZttf5rNdq6SK5x8uzK7rxoboLEWjMLhP9we6R UEEJ5+t2TzDEO9PLBZkK5EUQlodoynivpXO29Crh0ZweX0a4c59hCu3ewz9u X-Gm-Gg: ASbGncsKjphKSb7UhgMLdZ3RqDLPaNuwoTdiIcZbh7xVglkbs3lC9aswi7xcJlWnLHs KnrQID0rZ+6CLUAekL/VS0Zi0g3FqqsSH0PRC2sIrozsGlV8Q91tUxKr/ivssbaoNo5psQ7OFWK ym4Jp3yjA4lR/8u81thBE9D/V1H/cSZUXzedjY0xTe56VWzAkdx8QwZLy4UcpXZel+LkxGUNtk5 uvzHN8zsbH7vbuqa1gKGoMISzM3d4jll6mrLIBTmDZNp4g3WIX1v1T54PN0+i3qf6SeWoJMDMZJ F7wwe5oT2ic= X-Google-Smtp-Source: AGHT+IFECUQrY1PqQBjx6eZQTQWb31fPPRpP8glEu3Tcra629kQnFYugOKM53nHwXDr4ZCNRPfzHMg== X-Received: by 2002:a05:6a20:244b:b0:1db:e327:dd82 with SMTP id adf61e73a8af0-1e09d5aff8amr7888595637.5.1732323318555; Fri, 22 Nov 2024 16:55:18 -0800 (PST) Received: from mbp.lan (c-67-174-206-244.hsd1.ca.comcast.net. [67.174.206.244]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-724e0fca304sm2082867b3a.175.2024.11.22.16.55.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Nov 2024 16:55:18 -0800 (PST) From: Howard Chu To: peterz@infradead.org Cc: 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, Howard Chu Subject: [PATCH v1 2/2] perf docs: Add documentation for --force-btf option Date: Fri, 22 Nov 2024 16:55:11 -0800 Message-ID: <20241123005512.342079-3-howardchu95@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241123005512.342079-1-howardchu95@gmail.com> References: <20241123005512.342079-1-howardchu95@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" The --force-btf option is intended for debugging purposes and is currently undocumented. Add documentation for it. Signed-off-by: Howard Chu --- tools/perf/Documentation/perf-trace.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/perf/Documentation/perf-trace.txt b/tools/perf/Documenta= tion/perf-trace.txt index 6e0cc50bbc13..529081599cc7 100644 --- a/tools/perf/Documentation/perf-trace.txt +++ b/tools/perf/Documentation/perf-trace.txt @@ -241,6 +241,9 @@ the thread executes on the designated CPUs. Default is = to monitor all CPUs. printing using the existing 'perf trace' syscall arg beautifiers to map i= nteger arguments to strings (pid to comm, syscall id to syscall name, etc). =20 +--force-btf:: + Use btf_dump to pretty print syscall argument data, instead of using hand= -crafted pretty printers. + =20 PAGEFAULTS ---------- --=20 2.43.0