[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sat, 11 Nov 2017 00:53:33 +0000
From: "Dey, Megha" <megha.dey@...el.com>
To: Jiri Olsa <jolsa@...hat.com>, Megha Dey <megha.dey@...ux.intel.com>
CC: "x86@...nel.org" <x86@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"mingo@...hat.com" <mingo@...hat.com>,
"hpa@...or.com" <hpa@...or.com>,
"andriy.shevchenko@...ux.intel.com"
<andriy.shevchenko@...ux.intel.com>,
"kstewart@...uxfoundation.org" <kstewart@...uxfoundation.org>,
"Yu, Yu-cheng" <yu-cheng.yu@...el.com>,
"Brown, Len" <len.brown@...el.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"peterz@...radead.org" <peterz@...radead.org>,
"acme@...nel.org" <acme@...nel.org>,
"alexander.shishkin@...ux.intel.com"
<alexander.shishkin@...ux.intel.com>,
"namhyung@...nel.org" <namhyung@...nel.org>,
"vikas.shivappa@...ux.intel.com" <vikas.shivappa@...ux.intel.com>,
"pombredanne@...b.com" <pombredanne@...b.com>,
"me@...ehuey.com" <me@...ehuey.com>, "bp@...e.de" <bp@...e.de>,
"Andrejczuk, Grzegorz" <grzegorz.andrejczuk@...el.com>,
"Luck, Tony" <tony.luck@...el.com>,
"corbet@....net" <corbet@....net>,
"Shankar, Ravi V" <ravi.v.shankar@...el.com>
Subject: RE: [PATCH V0 2/3] perf/x86/intel/bm.c: Add Intel Branch Monitoring
support
>-----Original Message-----
>From: Jiri Olsa [mailto:jolsa@...hat.com]
>Sent: Saturday, November 4, 2017 6:26 AM
>To: Megha Dey <megha.dey@...ux.intel.com>
>Cc: x86@...nel.org; linux-kernel@...r.kernel.org; linux-
>doc@...r.kernel.org; tglx@...utronix.de; mingo@...hat.com;
>hpa@...or.com; andriy.shevchenko@...ux.intel.com;
>kstewart@...uxfoundation.org; Yu, Yu-cheng <yu-cheng.yu@...el.com>;
>Brown, Len <len.brown@...el.com>; gregkh@...uxfoundation.org;
>peterz@...radead.org; acme@...nel.org;
>alexander.shishkin@...ux.intel.com; namhyung@...nel.org;
>vikas.shivappa@...ux.intel.com; pombredanne@...b.com;
>me@...ehuey.com; bp@...e.de; Andrejczuk, Grzegorz
><grzegorz.andrejczuk@...el.com>; Luck, Tony <tony.luck@...el.com>;
>corbet@....net; Shankar, Ravi V <ravi.v.shankar@...el.com>; Dey, Megha
><megha.dey@...el.com>
>Subject: Re: [PATCH V0 2/3] perf/x86/intel/bm.c: Add Intel Branch
>Monitoring support
>
>On Fri, Nov 03, 2017 at 11:00:05AM -0700, Megha Dey wrote:
>
>SNIP
>
>> +
>> +static void intel_bm_event_update(struct perf_event *event) {
>> + union bm_detect_status cur_stat;
>> +
>> + rdmsrl(BR_DETECT_STATUS_MSR, cur_stat.raw);
>> + local64_set(&event->hw.prev_count, (uint64_t)cur_stat.raw); }
>> +
>> +static void intel_bm_event_stop(struct perf_event *event, int mode) {
>> + wrmsrl(BR_DETECT_COUNTER_CONFIG_BASE + event->id,
>> + (event->hw.bm_counter_conf & ~1));
>> +
>> + intel_bm_event_update(event);
>> +}
>> +
>> +static void intel_bm_event_del(struct perf_event *event, int flags) {
>> + intel_bm_event_stop(event, flags);
>> +}
>> +
>> +static void intel_bm_event_read(struct perf_event *event) { }
>
>should you call intel_bm_event_update in here? so the read syscall gets
>updated data in case the case the event is active
We do not update the event->count in the intel_bm_event_update function. We are basically saving the status register contents when a task is being scheduled out. So it has nothing to do with the read syscall. Having said that, I will probably put what stop() does in del() and get rid of the stop() function.
>
>jirka
Powered by blists - more mailing lists