[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1154843977.7027.33.camel@moblin.mtmk.phub.net.cable.rogers.com>
Date: Sun, 06 Aug 2006 01:59:37 -0400
From: John Kacur <jkacur@...ers.com>
To: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...e.hu>
Cc: john stultz <johnstul@...ibm.com>,
Steven Rostedt <rostedt@...dmis.org>,
Darren Hart <dvhltc@...ibm.com>,
lkml <linux-kernel@...r.kernel.org>
Subject: register_timer_hook fails on realtime kernel with
CONFIG_PROFILE_NMI
Hi,
I wrote a "Very Simple Timer Notification Module", which calls
register_timer_hook to register a function to be called using the timer
interrupt. This is essentially what OProfile would do in timer interrupt
mode. The standard kernel allows you to do this even if
CONFIG_PROFILE_NMI is defined but the realtime kernel does not. With the
realtime kernel register_timer_hook succeeds but the timer hooks is
never called. From patch-2.6.17-rt8 the following modifies
linux/include/linux/clockchips.h
+#ifndef CONFIG_PROFILE_NMI
+#define CLOCK_CAP_PROFILE 0x000008
+#else
+#define CLOCK_CAP_PROFILE 0x000000
+#endif
So, it's simple enough to work around, by just making CLOCK_CAP_PROFILE
0x000008 regardless of whether CONFIG_PROFILE_NMI is defined or not, but
I would like to understand the intention of the authors here. Is there a
good reason to disallow the timer interrupt mode of profiling if
CONFIG_PROFILE_NMI is defined? (other than arguing that NMI profiling is
superior)
I have included vstnm.tar.bz2 in case it is of any help examinig the
problem. Just do:
tar xjf vstnm.tar.bz2
cd vstnm
make
make install
then use the script load_vstnm to load the module and unload_vstnm to
unload the module. If the timer_tick function is called it will print a
rate limited message to the console that it was called.
Thank you
-
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