All of lore.kernel.org
 help / color / mirror / Atom feed
* [Adeos-main] [PATCH] clean up latest ipipe-tracing changes
@ 2006-04-17 16:16 Jan Kiszka
  2006-04-17 16:25 ` [Adeos-main] " Gilles Chanteperdrix
  2006-04-18 12:42 ` [Adeos-main] " Philippe Gerum
  0 siblings, 2 replies; 7+ messages in thread
From: Jan Kiszka @ 2006-04-17 16:16 UTC (permalink / raw)
  To: adeos-main; +Cc: Gilles Chanteperdrix


[-- Attachment #1.1: Type: text/plain, Size: 765 bytes --]

Hi,

here is a suggestion to do a tiny cleanup of Gilles' cpuid-fix for the
tracer. Sorry that I didn't comment on this earlier. Nothing critical
though.

I think it's better to drag the include/linux/compiler.h changes into
the main patch instead of starting to use
__attribute__((no_instrument_function)) all over the place just to avoid
notrace (especially as I expect that Ingo's tracer will get merged
anyway in the future). Moreover, local_irq_restore_hw_notrace & frieds
are available even for !CONFIG_IPIPE_TRACE, so no need to differentiate
here. Finally, I do not see a need for marking a static inline function
non-traced.

The patch does not seem to produce different binary code (I checked
kernel/ipipe/tracer.o) - as expected.

Jan

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: tracer-cleanup.patch --]
[-- Type: text/x-patch; name="tracer-cleanup.patch", Size: 1868 bytes --]

Index: linux-2.6.16-ipipe/arch/i386/kernel/ipipe-root.c
===================================================================
--- linux-2.6.16-ipipe.orig/arch/i386/kernel/ipipe-root.c	2006-04-17 15:21:58.000000000 +0200
+++ linux-2.6.16-ipipe/arch/i386/kernel/ipipe-root.c	2006-04-17 17:08:19.000000000 +0200
@@ -85,25 +85,13 @@ static void __ipipe_null_handler(unsigne
 
 #ifdef CONFIG_SMP
 
-static __attribute__((no_instrument_function)) int __ipipe_boot_cpuid(void)
+static notrace int __ipipe_boot_cpuid(void)
 {
 	return 0;
 }
 
 u8 __ipipe_apicid_2_cpu[IPIPE_NR_CPUS];
 
-#ifndef CONFIG_IPIPE_TRACE
-static int __ipipe_hard_cpuid(void)
-{
-	unsigned long flags;
-	int cpu;
-
-	local_irq_save_hw(flags);
-	cpu = __ipipe_apicid_2_cpu[GET_APIC_ID(apic_read(APIC_ID))];
-	local_irq_restore_hw(flags);
-	return cpu;
-}
-#else /* CONFIG_IPIPE_TRACE */
 static notrace int __ipipe_hard_cpuid(void)
 {
 	unsigned long flags;
@@ -114,7 +102,6 @@ static notrace int __ipipe_hard_cpuid(vo
 	local_irq_restore_hw_notrace(flags);
 	return cpu;
 }
-#endif /* CONFIG_IPIPE_TRACE */
 
 int (*__ipipe_logical_cpuid)(void) = &__ipipe_boot_cpuid;
 
Index: linux-2.6.16-ipipe/include/asm-i386/ipipe.h
===================================================================
--- linux-2.6.16-ipipe.orig/include/asm-i386/ipipe.h	2006-04-17 15:21:58.000000000 +0200
+++ linux-2.6.16-ipipe/include/asm-i386/ipipe.h	2006-04-17 17:08:18.000000000 +0200
@@ -97,7 +97,7 @@
 #define IPIPE_CRITICAL_VECTOR  0xf9	/* Used by ipipe_critical_enter/exit() */
 #define IPIPE_CRITICAL_IPI     (IPIPE_CRITICAL_VECTOR - FIRST_EXTERNAL_VECTOR)
 
-static inline __attribute__((no_instrument_function)) int ipipe_processor_id(void)
+static inline int ipipe_processor_id(void)
 {
 	extern int (*__ipipe_logical_cpuid)(void);
 	return __ipipe_logical_cpuid();

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2006-04-20 18:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-17 16:16 [Adeos-main] [PATCH] clean up latest ipipe-tracing changes Jan Kiszka
2006-04-17 16:25 ` [Adeos-main] " Gilles Chanteperdrix
2006-04-17 17:02   ` Jan Kiszka
2006-04-17 17:49     ` Gilles Chanteperdrix
2006-04-18 12:42 ` [Adeos-main] " Philippe Gerum
2006-04-19 19:02   ` Jan Kiszka
2006-04-20 18:06     ` Philippe Gerum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.