Messages in this thread | | | Date | Tue, 5 May 2015 15:17:37 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH V7 3/6] perf, x86: handle multiple records in PEBS buffer |
| |
On Tue, May 05, 2015 at 03:07:23PM +0200, Peter Zijlstra wrote: > On Mon, Apr 20, 2015 at 04:07:47AM -0400, Kan Liang wrote: > > From: Yan, Zheng <zheng.z.yan@intel.com> > > +static void perf_log_lost(struct perf_event *event) > > +{ > > + struct perf_output_handle handle; > > + struct perf_sample_data sample; > > + int ret; > > + > > + struct { > > + struct perf_event_header header; > > + u64 id; > > + u64 lost; > > + } lost_event = { > > + .header = { > > + .type = PERF_RECORD_LOST, > > + .misc = 0, > > + .size = sizeof(lost_event), > > + }, > > + .id = event->id, > > + .lost = 1, > > + }; > > + > > + perf_event_header__init_id(&lost_event.header, &sample, event); > > + > > + ret = perf_output_begin(&handle, event, > > + lost_event.header.size); > > + if (ret) > > + return; > > + > > + perf_output_put(&handle, lost_event); > > + perf_event__output_id_sample(event, &handle, &sample); > > + perf_output_end(&handle); > > +} > > RECORDs are generic, and should live in the core code. > > Also, you should introduce this RECORD in a separate patch.
On that, this is lacking a RECORD definition in include/uapi/linux/perf_event.h:perf_event_type
| |