* 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/

Reply via email to