[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20061018.005122.07644172.anemo@mba.ocn.ne.jp>
Date: Wed, 18 Oct 2006 00:51:22 +0900 (JST)
From: Atsushi Nemoto <anemo@....ocn.ne.jp>
To: compudj@...stal.dyndns.org
Cc: mbligh@...gle.com, fche@...hat.com,
masami.hiramatsu.pt@...achi.com, prasanna@...ibm.com,
akpm@...l.org, mingo@...e.hu, mathieu.desnoyers@...ymtl.ca,
lethal@...ux-sh.org, linux-kernel@...r.kernel.org, jes@....com,
zanussi@...ibm.com, richardj_moore@...ibm.com,
michel.dagenais@...ymtl.ca, hch@...radead.org, gregkh@...e.de,
tglx@...utronix.de, wcohen@...hat.com, ltt-dev@...fik.org,
systemtap@...rces.redhat.com, alan@...rguk.ukuu.org.uk,
jeremy@...p.org, karim@...rsys.com, pavel@...e.cz, joe@...ches.com,
rdunlap@...otime.net, jrs@...ibm.com
Subject: Re: [PATCH] Linux Kernel Markers 0.20 for 2.6.17
On Sat, 30 Sep 2006 14:04:43 -0400, Mathieu Desnoyers <compudj@...stal.dyndns.org> wrote:
> +#define MARK(name, format, args...) \
> + do { \
> + static marker_probe_func *__mark_call_##name = \
> + __mark_empty_function; \
> + volatile static char __marker_enable_##name = 0; \
> + static const struct __mark_marker_c __mark_c_##name \
> + __attribute__((section(".markers.c"))) = \
> + { #name, &__mark_call_##name, format } ; \
> + static const struct __mark_marker __mark_##name \
> + __attribute__((section(".markers"), unused)) = \
> + { &__mark_c_##name, &__marker_enable_##name } ; \
> + if (unlikely(__marker_enable_##name)) { \
> + preempt_disable(); \
> + (*__mark_call_##name)(format, ## args); \
> + preempt_enable_no_resched(); \
> + } \
> + } while(0)
When I compiled this with gcc 4.1.1 (mips), ".markers" section was
empty.
I suppose "unused" attribute is not suitable for modern gcc. Maybe
__attribute_used__ should be used?
The __attrribute_used__ is defined in compiler-gcc3.h as:
#if __GNUC_MINOR__ >= 3
# define __attribute_used__ __attribute__((__used__))
#else
# define __attribute_used__ __attribute__((__unused__))
#endif
---
Atsushi Nemoto
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists