From: Namhyung Kim <namhyung@kernel.org>
To: Jiri Olsa <jolsa@redhat.com>
Cc: linux-kernel@vger.kernel.org,
Corey Ashford <cjashfor@linux.vnet.ibm.com>,
David Ahern <dsahern@gmail.com>, Ingo Molnar <mingo@elte.hu>,
Paul Mackerras <paulus@samba.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Andi Kleen <andi@firstfloor.org>,
Adrian Hunter <adrian.hunter@intel.com>
Subject: Re: [PATCH 1/3] perf tools: Put proper period for for samples without PERIOD sample_type
Date: Wed, 05 Feb 2014 10:27:30 +0900 [thread overview]
Message-ID: <87vbwu1h8d.fsf@sejong.aot.lge.com> (raw)
In-Reply-To: <1391427883-13443-1-git-send-email-jolsa@redhat.com> (Jiri Olsa's message of "Mon, 3 Feb 2014 12:44:41 +0100")
Hi Jiri,
On Mon, 3 Feb 2014 12:44:41 +0100, Jiri Olsa wrote:
> We use PERF_SAMPLE_PERIOD sample type only for frequency
> setup -F (default) option. The -c does not need store period,
> because it's always the same.
>
> In -c case the report code uses '1' as period. Fixing
> it to perf_event_attr::sample_period.
All 3 patches look good. But I found something strange. When we
setup/config evsel attrs following code is used:
util/evsel.c::perf_evsel__config()
/*
* We default some events to a 1 default interval. But keep
* it a weak assumption overridable by the user.
*/
if (!attr->sample_period || (opts->user_freq != UINT_MAX &&
opts->user_interval != ULLONG_MAX)) {
if (opts->freq) {
perf_evsel__set_sample_bit(evsel, PERIOD);
attr->freq = 1;
attr->sample_freq = opts->freq;
} else {
attr->sample_period = opts->default_interval;
}
}
But shouldn't it be "||" instead of "&&" for checking
user_freq/interval? The opts->freq was setup by code below
util/record.c::record_opts__config_freq()
bool user_freq = opts->user_freq != UINT_MAX;
unsigned int max_rate;
if (opts->user_interval != ULLONG_MAX)
opts->default_interval = opts->user_interval;
if (user_freq)
opts->freq = opts->user_freq;
/*
* User specified count overrides default frequency.
*/
if (opts->default_interval)
opts->freq = 0;
else if (opts->freq) {
opts->default_interval = opts->freq;
} else {
pr_err("frequency and count are zero, aborting\n");
return -1;
}
Thanks,
Namhyung
next prev parent reply other threads:[~2014-02-05 1:27 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-03 11:44 [PATCH 1/3] perf tools: Put proper period for for samples without PERIOD sample_type Jiri Olsa
2014-02-03 11:44 ` [PATCH 2/3] perf tools: Add call-graph option support into .perfconfig Jiri Olsa
2014-02-22 17:56 ` [tip:perf/core] " tip-bot for Jiri Olsa
2014-02-03 11:44 ` [PATCH 3/3] perf tools: Add readable output for callchain debug Jiri Olsa
2014-02-03 15:09 ` Arnaldo Carvalho de Melo
2014-02-03 16:39 ` Jiri Olsa
2014-02-22 17:56 ` [tip:perf/core] perf record: " tip-bot for Jiri Olsa
2014-02-05 1:27 ` Namhyung Kim [this message]
2014-02-05 14:33 ` [PATCH 1/3] perf tools: Put proper period for for samples without PERIOD sample_type Jiri Olsa
2014-02-06 6:24 ` Namhyung Kim
2014-02-22 17:56 ` [tip:perf/core] " tip-bot for 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=87vbwu1h8d.fsf@sejong.aot.lge.com \
--to=namhyung@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=andi@firstfloor.org \
--cc=cjashfor@linux.vnet.ibm.com \
--cc=dsahern@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.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.