[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1175015947.19634.6.camel@localhost.localdomain>
Date: Tue, 27 Mar 2007 13:19:07 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Ingo Molnar <mingo@...e.hu>
Cc: LKML <linux-kernel@...r.kernel.org>
Subject: [PATCH -rt] fix setting of preempt_max_latency and preempt_thresh
on 64 bit systems
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 <rostedt@...dmis.org>
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 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