>-----Original Message----- >From: Jiri Olsa [mailto:jo...@redhat.com] >Sent: Saturday, November 4, 2017 6:26 AM >To: Megha Dey <megha....@linux.intel.com> >Cc: x...@kernel.org; linux-ker...@vger.kernel.org; linux- >d...@vger.kernel.org; t...@linutronix.de; mi...@redhat.com; >h...@zytor.com; andriy.shevche...@linux.intel.com; >kstew...@linuxfoundation.org; Yu, Yu-cheng <yu-cheng...@intel.com>; >Brown, Len <len.br...@intel.com>; gre...@linuxfoundation.org; >pet...@infradead.org; a...@kernel.org; >alexander.shish...@linux.intel.com; namhy...@kernel.org; >vikas.shiva...@linux.intel.com; pombreda...@nexb.com; >m...@kylehuey.com; b...@suse.de; Andrejczuk, Grzegorz ><grzegorz.andrejc...@intel.com>; Luck, Tony <tony.l...@intel.com>; >cor...@lwn.net; Shankar, Ravi V <ravi.v.shan...@intel.com>; Dey, Megha ><megha....@intel.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 -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html