Re: [PATCH v6 2/3]: perf/core: use context tstamp_data for skipped events on mux interrupt

From: Peter Zijlstra
Date: Tue Aug 22 2017 - 16:48:01 EST


On Thu, Aug 10, 2017 at 06:57:43PM +0300, Alexey Budankov wrote:
> The key thing in the patch is explicit updating of tstamp fields for
> INACTIVE events in update_event_times().

> @@ -1405,6 +1426,9 @@ static void update_event_times(struct perf_event *event)
> event->group_leader->state < PERF_EVENT_STATE_INACTIVE)
> return;
>
> + if (event->state == PERF_EVENT_STATE_INACTIVE)
> + perf_event_tstamp_update(event);
> +
> /*
> * in cgroup mode, time_enabled represents
> * the time the event was enabled AND active

But why!? I thought the whole point was to not need to do this.

The thing I outlined earlier would only need to update timestamps when
events change state and at no other point in time.