On 17/03/2016 17:29, Dr. David Alan Gilbert wrote: > OK, so I see TraceEvent has a TraceEventID field; so yes that works easily; > it turns out to be a little more expensive though since what was a: > > trace_events_dstate[id] > > is now > trace_events_dstate[te->id]
That however makes you waste a lot of cache on trace_events_dstate (commit 585ec72, "trace: track enabled events in a separate array", 2016-02-03). Perhaps we get the linker to do compute the id, for example by using a separate data section and then use te-&te_first to compute the id... Richard, do you have ideas on how to do this in a reasonably portable manner? > But hang on, what's the 'sstate' in TraceEvent; do we actually need two > state fields if we're passing a TraceEvent pointer around? sstate means the event is unavailable, it's basically just a way to provide better error messages. Paolo