Skip to content

Commit

Permalink
x86/UV: Lower UV rtc clocksource rating
Browse files Browse the repository at this point in the history
Lower the rating of the UV rtc clocksource to just below that of
the tsc, to improve performance.

Reading the tsc clocksource has lower latency than reading the
rtc, so favor it in situations where it is synchronized and
stable.  When the tsc is unsynchronized, the rtc needs to be the
chosen clocksource.

Signed-off-by: Dimitri Sivanich <sivanich@sgi.com>
Cc: John Stultz <johnstul@us.ibm.com>
Cc: Jack Steiner <steiner@sgi.com>
Link: http://lkml.kernel.org/r/20120217141641.GA28063@sgi.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Dimitri Sivanich authored and Ingo Molnar committed Feb 20, 2012
1 parent b01543d commit b0deca2
Showing 1 changed file with 1 addition and 5 deletions.
6 changes: 1 addition & 5 deletions arch/x86/platform/uv/uv_time.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ static void uv_rtc_timer_setup(enum clock_event_mode,

static struct clocksource clocksource_uv = {
.name = RTC_NAME,
.rating = 400,
.rating = 299,
.read = uv_read_rtc,
.mask = (cycle_t)UVH_RTC_REAL_TIME_CLOCK_MASK,
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
Expand Down Expand Up @@ -379,10 +379,6 @@ static __init int uv_rtc_setup_clock(void)
if (!is_uv_system())
return -ENODEV;

/* If single blade, prefer tsc */
if (uv_num_possible_blades() == 1)
clocksource_uv.rating = 250;

rc = clocksource_register_hz(&clocksource_uv, sn_rtc_cycles_per_second);
if (rc)
printk(KERN_INFO "UV RTC clocksource failed rc %d\n", rc);
Expand Down

0 comments on commit b0deca2

Please sign in to comment.