• Tom Zanussi's avatar
    tracing: Refactor hist trigger action code · 7d18a10c
    Tom Zanussi authored
    The hist trigger action code currently implements two essentially
    hard-coded pairs of 'actions' - onmax(), which tracks a variable and
    saves some event fields when a max is hit, and onmatch(), which is
    hard-coded to generate a synthetic event.
    
    These hardcoded pairs (track max/save fields and detect match/generate
    synthetic event) should really be decoupled into separate components
    that can then be arbitrarily combined.  The first component of each
    pair (track max/detect match) is called a 'handler' in the new code,
    while the second component (save fields/generate synthetic event) is
    called an 'action' in this scheme.
    
    This change refactors the action code to reflect this split by adding
    two handlers, HANDLER_ONMATCH and HANDLER_ONMAX, along with two
    actions, ACTION_SAVE and ACTION_TRACE.
    
    The new code combines them to produce the existing ONMATCH/TRACE and
    ONMAX/SAVE functionality, but doesn't implement the other combinations
    now possible.  Future patches will expand these to further useful
    cases, such as ONMAX/TRACE, as well as add additional handlers and
    actions such as ONCHANGE and SNAPSHOT.
    
    Also, add abbreviated documentation for handlers and actions to
    README.
    
    Link: http://lkml.kernel.org/r/98bfdd48c1b4ff29fc5766442f99f5bc3c34b76b.1550100284.git.tom.zanussi@linux.intel.comSigned-off-by: default avatarTom Zanussi <tom.zanussi@linux.intel.com>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    7d18a10c
trace_events_hist.c 137 KB