Re: perf: regression with PERF_EVENT_IOC_REFRESH

From: Peter Zijlstra
Date: Mon May 23 2011 - 16:19:10 EST


On Mon, 2011-05-23 at 16:04 -0400, Vince Weaver wrote:
> Hello
>
> the changeset 2e939d1d perf: Limit event refresh to sampling event
>
> changes the behavior of
> ioctl( , PERF_EVENT_IOC_REFRESH, )
>
> before the changeset, you could have a counter group where only one of the
> subevents was sampling. PERF_EVENT_IOC_REFRESH would correctly enable
> sampling for only that subevent.

But how? it adds to the event_limit of the event you call the ioctl()
on, not on any of the group siblings.

> With the changeset applied, this fails with EINVALID. Now you can only
> sample in a group leader.

I'm not quite seeing how group-leaders are relevant here, you can only
call this ioctl() on sampling events, regardless of if they're they
group leader or a sibling.

> Was this an intended change? It breaks various of our PAPI regression
> tests that worked fine before the change was committed.

I'm not quite seeing what's wrong yet, the change seemed simple enough
in that calling that ioctl() on an event that wasn't capable of
generating samples doesn't make sense, since it will increase the event
limit for the event you call it on.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/