All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1] perf tests: Fix hwmon parsing with PMU name test
Date: Thu, 21 Nov 2024 14:22:52 -0300	[thread overview]
Message-ID: <Zz9sbNAuRsYjclAi@x1> (raw)
In-Reply-To: <Zz9oKR3goFPP9_a9@x1>

On Thu, Nov 21, 2024 at 02:04:45PM -0300, Arnaldo Carvalho de Melo wrote:
> On Wed, Nov 20, 2024 at 04:09:55PM -0800, Ian Rogers wrote:
> > Incorrectly the hwmon with PMU name test didn't pass "true". Fix and
> > address issue with hwmon_pmu__config_terms needing to load events - a
> > load bearing assert fired. Also fix missing list deletion when putting
> > the hwmon test PMU and lower some debug warnings to make the hwmon PMU
> > less spammy in verbose mode.
 
> After applying this, with this series of patches on a Fedora 40 system,
> I get output from -v where before I needed, IIRC, to use -vv:
> 
> f8244bb9bfa66f79 (HEAD -> perf-tools-next, x1/perf-tools-next) perf tests: Fix hwmon parsing with PMU name test
> 9ae6c7a4bd02acbd perf hwmon_pmu: Ensure hwmon key union is zeroed before use
> 3e37de098af38179 perf tests hwmon_pmu: Remove double evlist__delete()
> 0565017a0ac824c2 perf test: Correct hwmon test PMU detection
> 85c60a01b85ee956 (perf-tools-next/tmp.perf-tools-next, perf-tools-next/perf-tools-next) perf: Remove unused del_perf_probe_events()
> ⬢ [acme@toolbox perf-tools-next]$

<SNIP>

> root@number:~# perf test -v 11
>  11: Hwmon PMU                                                       :
>  11.1: Basic parsing test                                            : Ok
> --- start ---
> test child forked, pid 1823259
> Testing 'temp_test_hwmon_event1'
> Using CPUID GenuineIntel-6-B7-1
> FAILED tests/hwmon_pmu.c:159 failed to parse event 'temp_test_hwmon_event1', err 1
> event syntax error: 'temp_test_hwmon_event1'
>                      \___ Bad event name
> 
> Unable to find event on a PMU of 'temp_test_hwmon_event1'

In gdb it fails on the first call to do_test() from the first test__hwmon_pmu()

Starting program: /root/bin/perf test -F -vv 11
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
--- start ---
---- end ----
 11.1: Basic parsing test                                            : Ok
--- start ---

Breakpoint 1, test__hwmon_pmu (with_pmu=false) at tests/hwmon_pmu.c:203
203	{
(gdb) n
205		struct perf_pmu *pmu = test_pmu_get(dir, sizeof(dir));
(gdb) n
206		int ret = TEST_OK;
(gdb) p pmu
$2 = (struct perf_pmu *) 0xf50450
(gdb) p *pmu
$3 = {name = 0xf50ac0 "hwmon_a_test_hwmon_pmu", alias_name = 0xf50aa0 "hwmon1234", id = 0x0, type = 4294902994, selectable = false, is_core = false, is_uncore = false, auxtrace = false, 
  formats_checked = false, config_masks_present = false, config_masks_computed = false, max_precise = 0, perf_event_attr_init_default = 0x0, cpus = 0xf4fbf0, format = {next = 0xf50488, 
    prev = 0xf50488}, aliases = {next = 0xf50498, prev = 0xf50498}, events_table = 0x0, sysfs_aliases = 0, cpu_json_aliases = 0, sys_json_aliases = 0, sysfs_aliases_loaded = false, 
  cpu_aliases_added = false, caps_initialized = false, nr_caps = 0, caps = {next = 0xf504c8, prev = 0xf504c8}, list = {next = 0xedc090 <other_pmus>, prev = 0xedc090 <other_pmus>}, 
  config_masks = {0, 0, 0, 0}, missing_features = {exclude_guest = false, checked = false}, mem_events = 0x0}
(gdb) s
208		if (!pmu)
(gdb) s
211		for (size_t i = 0; i < ARRAY_SIZE(test_events); i++) {
(gdb) s
212			ret = do_test(i, with_pmu, /*with_alias=*/false);
(gdb) s
do_test (i=0, with_pmu=false, with_alias=false) at tests/hwmon_pmu.c:136
136	{
(gdb) n
137		const char *test_event = with_alias ? test_events[i].alias : test_events[i].name;
(gdb) n
138		struct evlist *evlist = evlist__new();
(gdb) n
143		bool found = false;
(gdb) n
145		if (!evlist) {
(gdb) n
150		if (with_pmu)
(gdb) n
153			strlcpy(str, test_event, sizeof(str));
(gdb) n
155		pr_debug("Testing '%s'\n", str);
(gdb) p str
$4 = "temp_test_hwmon_event1\000\000\004\000\000\000\000\000\000\000\274\204z\000\000\000\000\000΄z\000\000\000\000\000\021\000\000\000\000\000\000\000 \305\377\377\377\177\000\000߄z\000\000\000\000\000\353\204z\000\000\000\000\000\376\204z\000\000\000\000\000\n\205z\000\000\000\000\000\021\205z\000\000\000\000\000\035\205z\000\000\000\000\0000\205z\000\000\000\000\000<\205z\000\000\000\000"
(gdb) n
Testing 'temp_test_hwmon_event1'
156		parse_events_error__init(&err);
(gdb) n
157		ret = parse_events(evlist, str, &err);
(gdb) n
Using CPUID GenuineIntel-6-B7-1
158		if (ret) {
(gdb) p ret
$5 = 1
(gdb) n
159			pr_debug("FAILED %s:%d failed to parse event '%s', err %d\n",
(gdb) 



  reply	other threads:[~2024-11-21 17:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-21  0:09 [PATCH v1] perf tests: Fix hwmon parsing with PMU name test Ian Rogers
2024-11-21  5:49 ` Namhyung Kim
2024-11-21 17:04 ` Arnaldo Carvalho de Melo
2024-11-21 17:22   ` Arnaldo Carvalho de Melo [this message]
2024-11-21 18:55     ` Ian Rogers
2024-11-21 20:58       ` Arnaldo Carvalho de Melo
2024-11-21 21:08         ` Arnaldo Carvalho de Melo
2024-11-22  6:59         ` Ian Rogers
2024-11-22 22:17 ` Namhyung Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Zz9sbNAuRsYjclAi@x1 \
    --to=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.