Re: [PATCH 01/10] perf/core: Add macro to test for event exclusion flags
On Tue, Nov 20, 2018 at 10:28:34PM +1100, Michael Ellerman wrote: > Andrew Murray writes: > > > Add a macro that tests if any of the perf event exclusion flags > > are set on a given event. > > > > Signed-off-by: Andrew Murray > > --- > > include/linux/perf_event.h | 9 + > > 1 file changed, 9 insertions(+) > > > > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > > index 53c500f..89ee7fa 100644 > > --- a/include/linux/perf_event.h > > +++ b/include/linux/perf_event.h > > @@ -1004,6 +1004,15 @@ perf_event__output_id_sample(struct perf_event > > *event, > > extern void > > perf_log_lost_samples(struct perf_event *event, u64 lost); > > > > +static inline bool event_has_exclude_flags(struct perf_event *event) > > +{ > > + struct perf_event_attr *attr = >attr; > > + > > + return attr->exclude_idle || attr->exclude_user || > > + attr->exclude_kernel || attr->exclude_hv || > > + attr->exclude_guest || attr->exclude_host; > > +} > > Sorry to be a total PITA, but using "flags" plural suggests that it only > returns true if there is more than one exclude flag set. > > A better name would be event_has_exclude_flag() or maybe > event_has_any_exclude_flag(). > > If you're doing a respin anyway it'd be nice to fix the name, but > obviously it's not high priority. No problem - I'll go with event_has_any_exclude_flag. Thanks, Andrew Murray > > cheers
Re: [PATCH 01/10] perf/core: Add macro to test for event exclusion flags
Andrew Murray writes: > Add a macro that tests if any of the perf event exclusion flags > are set on a given event. > > Signed-off-by: Andrew Murray > --- > include/linux/perf_event.h | 9 + > 1 file changed, 9 insertions(+) > > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > index 53c500f..89ee7fa 100644 > --- a/include/linux/perf_event.h > +++ b/include/linux/perf_event.h > @@ -1004,6 +1004,15 @@ perf_event__output_id_sample(struct perf_event *event, > extern void > perf_log_lost_samples(struct perf_event *event, u64 lost); > > +static inline bool event_has_exclude_flags(struct perf_event *event) > +{ > + struct perf_event_attr *attr = >attr; > + > + return attr->exclude_idle || attr->exclude_user || > +attr->exclude_kernel || attr->exclude_hv || > +attr->exclude_guest || attr->exclude_host; > +} Sorry to be a total PITA, but using "flags" plural suggests that it only returns true if there is more than one exclude flag set. A better name would be event_has_exclude_flag() or maybe event_has_any_exclude_flag(). If you're doing a respin anyway it'd be nice to fix the name, but obviously it's not high priority. cheers
Re: [PATCH 01/10] perf/core: Add macro to test for event exclusion flags
On Fri, Nov 16, 2018 at 10:24:04AM +, Andrew Murray wrote: > Add a macro that tests if any of the perf event exclusion flags > are set on a given event. > > Signed-off-by: Andrew Murray Aside from the s/macro/function, or s/macro/helper/, this looks sound to me. Assuming you fix that up here and in subsequent commit messages, for this patch feel free to add: Acked-by: Mark Rutland Mark. > --- > include/linux/perf_event.h | 9 + > 1 file changed, 9 insertions(+) > > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > index 53c500f..89ee7fa 100644 > --- a/include/linux/perf_event.h > +++ b/include/linux/perf_event.h > @@ -1004,6 +1004,15 @@ perf_event__output_id_sample(struct perf_event *event, > extern void > perf_log_lost_samples(struct perf_event *event, u64 lost); > > +static inline bool event_has_exclude_flags(struct perf_event *event) > +{ > + struct perf_event_attr *attr = >attr; > + > + return attr->exclude_idle || attr->exclude_user || > +attr->exclude_kernel || attr->exclude_hv || > +attr->exclude_guest || attr->exclude_host; > +} > + > static inline bool is_sampling_event(struct perf_event *event) > { > return event->attr.sample_period != 0; > -- > 2.7.4 >
Re: [PATCH 01/10] perf/core: Add macro to test for event exclusion flags
On Fri, Nov 16, 2018 at 10:24:04AM +, Andrew Murray wrote: > Add a macro that tests if any of the perf event exclusion flags > are set on a given event. It is in fact an inline function, not a CPP macro. > Signed-off-by: Andrew Murray > --- > include/linux/perf_event.h | 9 + > 1 file changed, 9 insertions(+) > > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > index 53c500f..89ee7fa 100644 > --- a/include/linux/perf_event.h > +++ b/include/linux/perf_event.h > @@ -1004,6 +1004,15 @@ perf_event__output_id_sample(struct perf_event *event, > extern void > perf_log_lost_samples(struct perf_event *event, u64 lost); > > +static inline bool event_has_exclude_flags(struct perf_event *event) > +{ > + struct perf_event_attr *attr = >attr; > + > + return attr->exclude_idle || attr->exclude_user || > +attr->exclude_kernel || attr->exclude_hv || > +attr->exclude_guest || attr->exclude_host; > +} > + > static inline bool is_sampling_event(struct perf_event *event) > { > return event->attr.sample_period != 0; > -- > 2.7.4 >