Messages in this thread | | | Date | Fri, 6 Oct 2006 09:01:56 -0400 | From | "Frank Ch. Eigler" <> | Subject | Re: tracepoint maintainance models |
| |
Hi -
On Fri, Oct 06, 2006 at 01:33:11AM -0400, Steven Rostedt wrote: > Coming into this really late, and I'm still behind in reading this and > related threads, but I want to throw this idea out, and it's getting > late. > [...] > #define MARK(label, var) \ > asm ("debug_" #label ":\n" \ > ".section .data\n" \ > #label "_" #var ": xor %0,%0\n" \ > ".previous" : : "r"(var)) > [...] > $ gcc -O2 -o mark mark.c > $ ./mark > func y is in reg B at 0x80483ce > [...]
Clever.
> Now the question is, isn't MARK() in this code a non intrusive marker?
Not quite. The assembly code forces gcc to materialize the data that it might already have inlined, and to borrow a register for the duration. It's still a neat idea though.
- FChE - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |