Re: [PATCH] Linux Kernel Markers 0.13 for 2.6.17

From: Jeremy Fitzhardinge
Date: Tue Sep 26 2006 - 14:58:20 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/