Messages in this thread | | | Date | Tue, 26 Sep 2006 11:57:33 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: [PATCH] Linux Kernel Markers 0.13 for 2.6.17 |
| |
Mathieu Desnoyers wrote: > Hi, > > Ok, so as far as I can see, we can only control the execution flow by modifying > values in the output list of the asm. > > Do you think the following would work ? > > > #define MARK_JUMP(name, format, args...) \ > do { \ > char condition; \ > asm volatile( ".section .markers, \"a\";\n\t" \ > ".long 0f;\n\t" \ > ".previous;\n\t" \ > "0:\n\t" \ > "movb $0,%1;\n\t" \ > : "+m" (__marker_sequencer), \ > "=r" (condition) : ); \ > if(unlikely(condition)) { \ > MARK_CALL(name, format, ## args); \ > } \ > } while(0) >
Yep, that looks reasonable. Though you could just directly test a per-marker enable flag, rather than using "condition"...
J - 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/
| |