From: Namhyung Kim <namhyung@kernel.org>
To: Veronika Molnarova <vmolnaro@redhat.com>
Cc: linux-perf-users@vger.kernel.org, acme@kernel.org,
acme@redhat.com, mpetlan@redhat.com, rstoyano@redhat.com,
mark.rutland@arm.com, kan.liang@linux.intel.com,
jolsa@kernel.org, irogers@google.com,
alexander.shishkin@linux.intel.com, adrian.hunter@intel.com
Subject: Re: [PATCH] perf test: Restore sample rate for perf_event_attr
Date: Tue, 1 Oct 2024 17:19:05 -0700 [thread overview]
Message-ID: <ZvyRefEz4lj4evm5@google.com> (raw)
In-Reply-To: <8664c3ee-01ff-4c96-bce7-54b22dc1a5e0@redhat.com>
Hello,
On Tue, Oct 01, 2024 at 10:31:38AM +0200, Veronika Molnarova wrote:
> Ping
>
> On 8/28/24 15:46, vmolnaro@redhat.com wrote:
> > From: Veronika Molnarova <vmolnaro@redhat.com>
> >
> > Test "Setup struct perf_event_attr" consists of multiple test cases that
> > can affect the max sample rate value for perf events. Some test cases
> > check this value as it should not be lowered under the set minimum for
> > the given test. Currently, it is possible for the test cases to affect
> > each other as the previous tests can lower the sample rate, leading to
> > a possible failure of some of the future test cases as the value is not
> > restored at any point.
> >
> > 10: Setup struct perf_event_attr:
> > --- start ---
> > test child forked, pid 104220
> > Using CPUID 0x00000000413fd0c1
> > running './tests/attr/test-record-C0'
> > Current sample rate: 10000
> > running './tests/attr/test-record-basic'
> > Current sample rate: 900
> > running './tests/attr/test-record-branch-any'
> > Current sample rate: 600
> > running './tests/attr/test-record-dummy-C0'
> > Current sample rate: 600
> > expected sample_period=4000, got 600
> > FAILED './tests/attr/test-record-dummy-C0' - match failure
Please indent the shell output or source code by at least 2 spaces so
that git can distinguish it from other messages. Typical problems are
having '#' at the beginning of a line.
In this case, '---' in the test output makes it think the rest is a
comment and ignored the messages.
Can you please resend with the change?
Thanks,
Namhyung
> >
> > Restore the max sample rate value for perf events to a reasonable value
> > before each test case if its value was lowered too much to ensure the
> > same conditions for each test case.
> >
> > 10: Setup struct perf_event_attr:
> > --- start ---
> > test child forked, pid 107222
> > Using CPUID 0x00000000413fd0c1
> > running './tests/attr/test-record-C0'
> > Current sample rate: 10000
> > running './tests/attr/test-record-basic'
> > Current sample rate: 800
> > running './tests/attr/test-record-branch-any'
> > Current sample rate: 700
> > unsupp './tests/attr/test-record-branch-any'
> > running './tests/attr/test-record-branch-filter-any'
> > Current sample rate: 10000
> > running './tests/attr/test-record-count'
> > Current sample rate: 10000
> > running './tests/attr/test-record-data'
> > Current sample rate: 600
> > running './tests/attr/test-record-dummy-C0'
> > Current sample rate: 800
> > running './tests/attr/test-record-freq'
> > Current sample rate: 10000
> > ...
> >
> > Cc: Adrian Hunter <adrian.hunter@intel.com>
> > Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> > Cc: Ian Rogers <irogers@google.com>
> > Cc: Jiri Olsa <jolsa@kernel.org>
> > Cc: Kan Liang <kan.liang@linux.intel.com>
> > Cc: Mark Rutland <mark.rutland@arm.com>
> > Cc: Michael Petlan <mpetlan@redhat.com>
> > Cc: Radostin Stoyanov <rstoyano@redhat.com>
> > Signed-off-by: Veronika Molnarova <vmolnaro@redhat.com>
> > ---
> > tools/perf/tests/attr.py | 18 ++++++++++++++++++
> > 1 file changed, 18 insertions(+)
> >
> > diff --git a/tools/perf/tests/attr.py b/tools/perf/tests/attr.py
> > index e890c261ad26..3db9a7d78715 100644
> > --- a/tools/perf/tests/attr.py
> > +++ b/tools/perf/tests/attr.py
> > @@ -246,6 +246,23 @@ class Test(object):
> > return False
> > return True
> >
> > + def restore_sample_rate(self, value=10000):
> > + try:
> > + # Check value of sample_rate
> > + with open("/proc/sys/kernel/perf_event_max_sample_rate", "r") as fIn:
> > + curr_value = fIn.readline()
> > + # If too low restore to reasonable value
> > + if not curr_value or int(curr_value) < int(value):
> > + with open("/proc/sys/kernel/perf_event_max_sample_rate", "w") as fOut:
> > + fOut.write(str(value))
> > +
> > + except IOError as e:
> > + log.warning("couldn't restore sample_rate value: I/O error %s" % e)
> > + except ValueError as e:
> > + log.warning("couldn't restore sample_rate value: Value error %s" % e)
> > + except TypeError as e:
> > + log.warning("couldn't restore sample_rate value: Type error %s" % e)
> > +
> > def load_events(self, path, events):
> > parser_event = configparser.ConfigParser()
> > parser_event.read(path)
> > @@ -283,6 +300,7 @@ class Test(object):
> > if self.skip_test_kernel_until():
> > raise Notest(self, "new kernel skip")
> >
> > + self.restore_sample_rate()
> > cmd = "PERF_TEST_ATTR=%s %s %s -o %s/perf.data %s" % (tempdir,
> > self.perf, self.command, tempdir, self.args)
> > ret = os.WEXITSTATUS(os.system(cmd))
>
next prev parent reply other threads:[~2024-10-02 0:19 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-28 13:46 [PATCH] perf test: Restore sample rate for perf_event_attr vmolnaro
2024-10-01 8:31 ` Veronika Molnarova
2024-10-02 0:19 ` Namhyung Kim [this message]
2024-10-03 12:51 ` [PATCH v2] " vmolnaro
2024-10-04 19:29 ` Namhyung Kim
2024-10-03 12:56 ` [PATCH] " Veronika Molnarova
-- strict thread matches above, loose matches on Subject: below --
2024-07-15 12:34 vmolnaro
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=ZvyRefEz4lj4evm5@google.com \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=acme@redhat.com \
--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-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mpetlan@redhat.com \
--cc=rstoyano@redhat.com \
--cc=vmolnaro@redhat.com \
/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.