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

From: Peter Zijlstra
Date: Thu Aug 03 2017 - 09:04:12 EST


On Wed, Aug 02, 2017 at 11:15:39AM +0300, Alexey Budankov wrote:
> Event groups allocated for CPU's different from the one that handles multiplexing
> hrtimer interrupt may be skipped by interrupt handler however the events
> tstamp_enabled, tstamp_running and tstamp_stopped fields still need to be updated
> to have correct timings.
>
> To implement that tstamp_data object is introduced at the event context
> and the skipped events' tstamps pointers are switched between self and context
> tstamp_data objects.
>
> The context object timings are updated by update_context_time() on every
> multiplexing hrtimer interrupt so all events referencing the context object get its
> timings properly updated all at once.
>
> Event groups tstamps are switched to the context object and back to self object
> if they don't pass thru event_filter_match() on thread context switch in and out.

FWIW, Changelogs should be <=72 characters (like normal emails). All
sane editors can do this for you. Also, you have weird trailing
whitespace in your messages.

The above then ends up like:


Event groups allocated for CPU's different from the one that handles
multiplexing hrtimer interrupt may be skipped by interrupt handler
however the events tstamp_enabled, tstamp_running and tstamp_stopped
fields still need to be updated to have correct timings.

To implement that tstamp_data object is introduced at the event context
and the skipped events' tstamps pointers are switched between self and
context tstamp_data objects.

The context object timings are updated by update_context_time() on every
multiplexing hrtimer interrupt so all events referencing the context
object get its timings properly updated all at once.

Event groups tstamps are switched to the context object and back to self
object if they don't pass thru event_filter_match() on thread context
switch in and out.