[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tip-5e3c1afd4587e70c201bf7224b51f747c9a3dfa8@git.kernel.org>
Date: Thu, 23 Jan 2014 08:46:58 -0800
From: tip-bot for Peter Zijlstra <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, sasha.levin@...cle.com,
hpa@...or.com, mingo@...nel.org, arjan@...ux.intel.com,
peterz@...radead.org, bitbucket@...ine.de, luto@...capital.net,
john.stultz@...aro.org, eliezer.tamir@...ux.intel.com,
markus@...ppelsdorf.de, tglx@...utronix.de
Subject: [tip:sched/urgent] sched/x86/tsc: Initialize multiplier to 0
Commit-ID: 5e3c1afd4587e70c201bf7224b51f747c9a3dfa8
Gitweb: http://git.kernel.org/tip/5e3c1afd4587e70c201bf7224b51f747c9a3dfa8
Author: Peter Zijlstra <peterz@...radead.org>
AuthorDate: Wed, 22 Jan 2014 22:08:14 +0100
Committer: Ingo Molnar <mingo@...nel.org>
CommitDate: Thu, 23 Jan 2014 14:48:36 +0100
sched/x86/tsc: Initialize multiplier to 0
Since we keep the clock value linearly continuous on frequency change,
make sure the initial multiplier is 0, such that our initial value is 0.
Without this we compute the initial value at whatever the TSC has
managed to reach since power-on.
Reported-and-Tested-by: Markus Trippelsdorf <markus@...ppelsdorf.de>
Fixes: 20d1c86a57762 ("sched/clock, x86: Rewrite cyc2ns() to avoid the need to disable IRQs")
Cc: lenb@...nel.org
Cc: rjw@...ysocki.net
Cc: Eliezer Tamir <eliezer.tamir@...ux.intel.com>
Cc: rui.zhang@...el.com
Cc: jacob.jun.pan@...ux.intel.com
Cc: Mike Galbraith <bitbucket@...ine.de>
Cc: hpa@...or.com
Cc: paulmck@...ux.vnet.ibm.com
Cc: John Stultz <john.stultz@...aro.org>
Cc: Andy Lutomirski <luto@...capital.net>
Cc: Arjan van de Ven <arjan@...ux.intel.com>
Cc: Sasha Levin <sasha.levin@...cle.com>
Cc: dyoung@...hat.com
Signed-off-by: Peter Zijlstra <peterz@...radead.org>
Link: http://lkml.kernel.org/r/20140123094804.GP30183@twins.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@...nel.org>
---
arch/x86/kernel/tsc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index a3acbac..19e5adb 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -180,7 +180,7 @@ static void cyc2ns_write_end(int cpu, struct cyc2ns_data *data)
static void cyc2ns_data_init(struct cyc2ns_data *data)
{
- data->cyc2ns_mul = 1U << CYC2NS_SCALE_FACTOR;
+ data->cyc2ns_mul = 0;
data->cyc2ns_shift = CYC2NS_SCALE_FACTOR;
data->cyc2ns_offset = 0;
data->__count = 0;
--
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