Re: [PATCH] Linux Kernel Markers 0.13 for 2.6.17

From: Mathieu Desnoyers
Date: Tue Sep 26 2006 - 15:14:29 EST


* Jeremy Fitzhardinge (jeremy@xxxxxxxx) wrote:
> 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"...
>

The goal of the local variable "condition" here is that it will be forced to be
a register (=r in asm output), so there is no memory load involved (immediate
value).

I am not sure I understand your suggestion correctly.. do you mean having
a per-marker flag that would be loaded and tested at every marker site ?


Mathieu

OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
-
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/