* [PATCH] x86: UV enable RTC clocksource
@ 2009-11-20 21:48 Dimitri Sivanich
2009-11-23 18:55 ` [tip:x86/uv] x86: UV RTC: Always " tip-bot for Dimitri Sivanich
0 siblings, 1 reply; 2+ messages in thread
From: Dimitri Sivanich @ 2009-11-20 21:48 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel, Thomas Gleixner
Always enable the RTC clocksource on UV systems.
Signed-off-by: Dimitri Sivanich <sivanich@sgi.com>
---
arch/x86/kernel/uv_time.c | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
Index: linux/arch/x86/kernel/uv_time.c
===================================================================
--- linux.orig/arch/x86/kernel/uv_time.c 2009-11-20 14:57:31.000000000 -0600
+++ linux/arch/x86/kernel/uv_time.c 2009-11-20 15:41:32.000000000 -0600
@@ -74,7 +74,6 @@ struct uv_rtc_timer_head {
*/
static struct uv_rtc_timer_head **blade_info __read_mostly;
-static int uv_rtc_enable;
static int uv_rtc_evt_enable;
/*
@@ -335,14 +334,6 @@ static void uv_rtc_interrupt(void)
ced->event_handler(ced);
}
-static int __init uv_enable_rtc(char *str)
-{
- uv_rtc_enable = 1;
-
- return 1;
-}
-__setup("uvrtc", uv_enable_rtc);
-
static int __init uv_enable_evt_rtc(char *str)
{
uv_rtc_evt_enable = 1;
@@ -364,12 +355,16 @@ static __init int uv_rtc_setup_clock(voi
{
int rc;
- if (!uv_rtc_enable || !is_uv_system() || x86_platform_ipi_callback)
+ if (!is_uv_system())
return -ENODEV;
clocksource_uv.mult = clocksource_hz2mult(sn_rtc_cycles_per_second,
clocksource_uv.shift);
+ /* If single blade, prefer tsc */
+ if (uv_num_possible_blades() == 1)
+ clocksource_uv.rating = 250;
+
rc = clocksource_register(&clocksource_uv);
if (rc)
printk(KERN_INFO "UV RTC clocksource failed rc %d\n", rc);
@@ -377,7 +372,7 @@ static __init int uv_rtc_setup_clock(voi
printk(KERN_INFO "UV RTC clocksource registered freq %lu MHz\n",
sn_rtc_cycles_per_second/(unsigned long)1E6);
- if (rc || !uv_rtc_evt_enable)
+ if (rc || !uv_rtc_evt_enable || x86_platform_ipi_callback)
return rc;
/* Setup and register clockevents */
^ permalink raw reply [flat|nested] 2+ messages in thread
* [tip:x86/uv] x86: UV RTC: Always enable RTC clocksource
2009-11-20 21:48 [PATCH] x86: UV enable RTC clocksource Dimitri Sivanich
@ 2009-11-23 18:55 ` tip-bot for Dimitri Sivanich
0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Dimitri Sivanich @ 2009-11-23 18:55 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, tglx, sivanich, mingo
Commit-ID: 581f202bcd60acbc3af1f5faa429e570c512f8a3
Gitweb: http://git.kernel.org/tip/581f202bcd60acbc3af1f5faa429e570c512f8a3
Author: Dimitri Sivanich <sivanich@sgi.com>
AuthorDate: Fri, 20 Nov 2009 15:48:26 -0600
Committer: Ingo Molnar <mingo@elte.hu>
CommitDate: Mon, 23 Nov 2009 19:41:30 +0100
x86: UV RTC: Always enable RTC clocksource
Always enable the RTC clocksource on UV systems.
Signed-off-by: Dimitri Sivanich <sivanich@sgi.com>
LKML-Reference: <20091120214826.GA20016@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
arch/x86/kernel/uv_time.c | 17 ++++++-----------
1 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/arch/x86/kernel/uv_time.c b/arch/x86/kernel/uv_time.c
index 3da7b1d..3c84aa0 100644
--- a/arch/x86/kernel/uv_time.c
+++ b/arch/x86/kernel/uv_time.c
@@ -74,7 +74,6 @@ struct uv_rtc_timer_head {
*/
static struct uv_rtc_timer_head **blade_info __read_mostly;
-static int uv_rtc_enable;
static int uv_rtc_evt_enable;
/*
@@ -335,14 +334,6 @@ static void uv_rtc_interrupt(void)
ced->event_handler(ced);
}
-static int __init uv_enable_rtc(char *str)
-{
- uv_rtc_enable = 1;
-
- return 1;
-}
-__setup("uvrtc", uv_enable_rtc);
-
static int __init uv_enable_evt_rtc(char *str)
{
uv_rtc_evt_enable = 1;
@@ -364,12 +355,16 @@ static __init int uv_rtc_setup_clock(void)
{
int rc;
- if (!uv_rtc_enable || !is_uv_system() || x86_platform_ipi_callback)
+ if (!is_uv_system())
return -ENODEV;
clocksource_uv.mult = clocksource_hz2mult(sn_rtc_cycles_per_second,
clocksource_uv.shift);
+ /* If single blade, prefer tsc */
+ if (uv_num_possible_blades() == 1)
+ clocksource_uv.rating = 250;
+
rc = clocksource_register(&clocksource_uv);
if (rc)
printk(KERN_INFO "UV RTC clocksource failed rc %d\n", rc);
@@ -377,7 +372,7 @@ static __init int uv_rtc_setup_clock(void)
printk(KERN_INFO "UV RTC clocksource registered freq %lu MHz\n",
sn_rtc_cycles_per_second/(unsigned long)1E6);
- if (rc || !uv_rtc_evt_enable)
+ if (rc || !uv_rtc_evt_enable || x86_platform_ipi_callback)
return rc;
/* Setup and register clockevents */
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-11-23 18:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-20 21:48 [PATCH] x86: UV enable RTC clocksource Dimitri Sivanich
2009-11-23 18:55 ` [tip:x86/uv] x86: UV RTC: Always " tip-bot for Dimitri Sivanich
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.