* Roland Dreier <[EMAIL PROTECTED]> wrote: > Any suggestion of where to look? My /proc/latency_trace stays > stubbornly empty -- are there any sysctls I need to change from their > default to get latency tracing? I'm a complete noob when it comes to > the -rt patch, so I'm not sure what the right way to use the tracing > infrastructure to track down this lost rtc interrupts issue is.
please apply the patch below, from Steve - this should fix the tracer. Ingo ----------------------> Ingo, I wasn't able to turn on latency tracing on a x86_64 box. Using logdev to see what was happening, I found that echoing 0 into /proc/sys/kernel/preempt_max_latency would only change the max from -1ULL to 0xffffffff00000000. Which would keep the max pretty high still. The problem is in sysctl.c where preempt_max_latency can be modified. On systems where cycle_t is greater than the size of int (x86_64) we only write to the 4 LSB. Here's the patch: -- Steve Signed-off-by: Steven Rostedt <[EMAIL PROTECTED]> Index: linux-2.6.21-rc5/kernel/sysctl.c =================================================================== --- linux-2.6.21-rc5.orig/kernel/sysctl.c +++ linux-2.6.21-rc5/kernel/sysctl.c @@ -287,17 +287,17 @@ static ctl_table kern_table[] = { .ctl_name = CTL_UNNUMBERED, .procname = "preempt_max_latency", .data = &preempt_max_latency, - .maxlen = sizeof(int), + .maxlen = sizeof(preempt_max_latency), .mode = 0644, - .proc_handler = &proc_dointvec, + .proc_handler = &proc_doulongvec_minmax, }, { .ctl_name = CTL_UNNUMBERED, .procname = "preempt_thresh", .data = &preempt_thresh, - .maxlen = sizeof(int), + .maxlen = sizeof(preempt_thresh), .mode = 0644, - .proc_handler = &proc_dointvec, + .proc_handler = &proc_doulongvec_minmax, }, #endif #ifdef CONFIG_EVENT_TRACE - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/