On Wed, 2010-11-17 at 15:11 +0100, Peter Zijlstra wrote:
IIRC, I think the conclusion we came to was that it could be done
mechanically if for example the right-hand-side of an assignment in
TP_fast_assign() only involved a simple variable assignment, but as
Steve pointed out, some assignments are more complicated than that.
For example, in the sched_switch tracepoint assignments:
__entry->prev_prio = prev->prio;
__entry->prev_state = __trace_sched_switch_state(prev);
so the prev_prio should be able to be tested 'in-line' but the
prev_state would require a temporary buffer to write the value into
before doing the test as mentioned by Steve. At which point you're no
further ahead (in that case) than the current situation...