linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: "Liang, Kan" <kan.liang@linux.intel.com>
Cc: mingo@kernel.org, jolsa@redhat.com, linux-kernel@vger.kernel.org,
	namhyung@kernel.org, eranian@google.com, ak@linux.intel.com,
	mark.rutland@arm.com, will@kernel.org, mpe@ellerman.id.au
Subject: Re: [PATCH V2 02/12] perf record: Support new sample type for data page size
Date: Wed, 16 Dec 2020 12:49:14 -0300	[thread overview]
Message-ID: <20201216154914.GB297512@kernel.org> (raw)
In-Reply-To: <124d0414-f834-e2f0-8359-50488add60d1@linux.intel.com>

Em Mon, Dec 07, 2020 at 03:25:07PM -0500, Liang, Kan escreveu:
> 
> 
> On 12/7/2020 12:07 PM, Arnaldo Carvalho de Melo wrote:
> > Em Mon, Nov 30, 2020 at 09:27:53AM -0800, kan.liang@linux.intel.com escreveu:
> > > From: Kan Liang <kan.liang@linux.intel.com>
> > > 
> > > Support new sample type PERF_SAMPLE_DATA_PAGE_SIZE for page size.
> > > 
> > > Add new option --data-page-size to record sample data page size.
> > 
> > So, trying this on a kernel without this feature I get:
> > 
> > [acme@five perf]$ perf record --data-page-size sleep 1
> > Error:
> > The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (cycles:u).
> > /bin/dmesg | grep -i perf may provide additional information.
> > 
> > [acme@five perf]$
> > 
> > I'm adding the following patch right after yours, next time please test
> > this and provide a similar error message.
> > 
> 
> Sorry, I missed it.
> 
> Besides the PERF_SAMPLE_DATA_PAGE_SIZE, I think we have to fix the
> PERF_SAMPLE_CODE_PAGE_SIZE as well.
> Should I send a separate patch to fix it?

I've got back to this and what I have is out in acme/perf/core, so you can
continue from there.

I had to add the patch below to fix 'perf test "Sample parsing"'.

- Arnaldo

commit eec7b53d59167a1063e704f86ec0aa36ff765e1a
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Wed Dec 16 12:45:10 2020 -0300

    perf test: Make sample-parsing test aware of PERF_SAMPLE_{CODE,DATA}_PAGE_SIZE
    
    To fix this:
    
      $ perf test -v "Sample parsing".
      27: Sample parsing                                                  :
      --- start ---
      test child forked, pid 586013
      sample format has changed, some new PERF_SAMPLE_ bit was introduced - test needs updating
      test child finished with -1
      ---- end ----
      Sample parsing: FAILED!
      $
    
    This patchset is still not completely merged, so when adding the
    PERF_SAMPLE_CODE_PAGE_SIZE to 'struct perf_sample' we need to add the
    bits added in this patch for 'perf_sample.data_page_size'.
    
    Fixes: 251cc77b8176de37 ("tools headers UAPI: Update tools's copy of linux/perf_event.h")
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

diff --git a/tools/perf/tests/sample-parsing.c b/tools/perf/tests/sample-parsing.c
index a0bdaf390ac8ea78..2393916f6128a6fb 100644
--- a/tools/perf/tests/sample-parsing.c
+++ b/tools/perf/tests/sample-parsing.c
@@ -154,6 +154,9 @@ static bool samples_same(const struct perf_sample *s1,
 	if (type & PERF_SAMPLE_CGROUP)
 		COMP(cgroup);
 
+	if (type & PERF_SAMPLE_DATA_PAGE_SIZE)
+		COMP(data_page_size);
+
 	if (type & PERF_SAMPLE_AUX) {
 		COMP(aux_sample.size);
 		if (memcmp(s1->aux_sample.data, s2->aux_sample.data,
@@ -234,6 +237,7 @@ static int do_test(u64 sample_type, u64 sample_regs, u64 read_format)
 		},
 		.phys_addr	= 113,
 		.cgroup		= 114,
+		.data_page_size = 115,
 		.aux_sample	= {
 			.size	= sizeof(aux_data),
 			.data	= (void *)aux_data,
@@ -340,7 +344,7 @@ int test__sample_parsing(struct test *test __maybe_unused, int subtest __maybe_u
 	 * were added.  Please actually update the test rather than just change
 	 * the condition below.
 	 */
-	if (PERF_SAMPLE_MAX > PERF_SAMPLE_CGROUP << 1) {
+	if (PERF_SAMPLE_MAX > PERF_SAMPLE_CODE_PAGE_SIZE << 1) {
 		pr_debug("sample format has changed, some new PERF_SAMPLE_ bit was introduced - test needs updating\n");
 		return -1;
 	}

  reply	other threads:[~2020-12-16 15:49 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-30 17:27 [PATCH V2 00/12] Add the page size in the perf record (user tools) kan.liang
2020-11-30 17:27 ` [PATCH V2 01/12] tools headers UAPI: Update tools's copy of linux/perf_event.h kan.liang
2020-12-07 16:52   ` Arnaldo Carvalho de Melo
2020-11-30 17:27 ` [PATCH V2 02/12] perf record: Support new sample type for data page size kan.liang
2020-12-07 17:07   ` Arnaldo Carvalho de Melo
2020-12-07 20:25     ` Liang, Kan
2020-12-16 15:49       ` Arnaldo Carvalho de Melo [this message]
2020-11-30 17:27 ` [PATCH V2 03/12] perf script: Support " kan.liang
2020-12-04 23:27   ` Jiri Olsa
2020-11-30 17:27 ` [PATCH V2 04/12] perf sort: Add sort option for " kan.liang
2020-11-30 17:27 ` [PATCH V2 05/12] perf mem: Factor out a function to generate sort order kan.liang
2020-12-04 23:27   ` Jiri Olsa
2020-11-30 17:27 ` [PATCH V2 06/12] perf mem: Clean up output format kan.liang
2020-12-04 23:27   ` Jiri Olsa
2020-12-07 20:19     ` Liang, Kan
2020-12-08 10:29       ` Jiri Olsa
2020-11-30 17:27 ` [PATCH V2 07/12] perf mem: Support data page size kan.liang
2020-11-30 17:27 ` [PATCH V2 08/12] perf test: Add test case for PERF_SAMPLE_DATA_PAGE_SIZE kan.liang
2020-11-30 17:28 ` [PATCH V2 09/12] perf tools: Add support for PERF_SAMPLE_CODE_PAGE_SIZE kan.liang
2020-11-30 17:28 ` [PATCH V2 10/12] perf script: " kan.liang
2020-11-30 17:28 ` [PATCH V2 11/12] perf report: " kan.liang
2020-11-30 17:28 ` [PATCH V2 12/12] perf test: Add test case " kan.liang
2020-12-08 10:31 ` [PATCH V2 00/12] Add the page size in the perf record (user tools) Jiri Olsa

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=20201216154914.GB297512@kernel.org \
    --to=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=eranian@google.com \
    --cc=jolsa@redhat.com \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=namhyung@kernel.org \
    --cc=will@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).