Re: [PATCH] tracing: don't macro-expand arguments before stringification in TP_printk
From: Steven Rostedt
Date: Mon Feb 22 2016 - 22:23:46 EST
On Wed, 16 Dec 2015 01:28:12 +0100
Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> wrote:
> Bah, just found 0462b5664b (ftrace: Output REC->var instead of
> __entry->var for trace format). There's some magic here I don't
> understand, but I'm wondering if '__entry' wouldn't do just as well as
> 'REC' for the tools that try to parse these strings.
>
>
Sorry for the late reply, but I just found this in my INBOX :-)
Several tools already exist that use REC to parse. It would be ABI
breakage to suddenly convert it to __entry.
Not to mention, even in your example of:
((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1)))
which came from
MAJOR(__entry->dev), MINOR(__entry->dev),
The parsing tools don't know how to parse MAJOR or MINOR but they do
know how to do the above macro expansions.
Just an FYI,
-- Steve