I've tested this on my desktop (working TSC) and my laptop (non-working TSC).
On both machines the patch didn't make any difference.
Desktop: Intel mainboard, ICH7 chipset, dual core Pentium D 3.20GHz
$ dmesg | grep -i tsc
Fast TSC calibration using PIT
checking TSC synchronization [CPU#0 -> CPU#1]: passed.
Laptop: HP 2510p notebook, ICH8 chipset, Core2 Duo 1.33GHz
$ dmesg | grep -i tsc
Fast TSC calibration using PIT
checking TSC synchronization [CPU#0 -> CPU#1]: passed.
Marking TSC unstable due to TSC halts in idle
Clocksource tsc unstable (delta = -98164364 ns)
Tested on top of today's mainline git.
Cheers,
FJP
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Thanks for testing, but if there was no warnings like
"Measured 439164 cycles TSC warp between CPUs, turning off TSC clock."
the patch won't help....
--Luming
> Hello,
>
> Without this patch, we always get kernel warning that TSC warp between CPUs,
> and TSC is marked unstable due to check_tsc_sync_source failed if the CPUs
> have the problem of not-synced initial TSC.
>
> It hurts CPUs with constant-tsc feature, but with unsynced initial TSC value...
>
> The downside is we could break perfect synced TSC with this patch.
s/could/will definitely/
So you're hurting the good systems for one buggy box. I don't think
that's a good idea.
Possible alternatives:
- black list that system with DMI
- try to detect it by checking constant_tsc and still unsynchronized TSC
- just give up and say the system won't be able to use TSC unless the BIOS
fixes its act.
The third option is probably not the worst.
-Andi
--
a...@linux.intel.com -- Speaking for myself only.
Yes, the patch should be polished to avoid already-perfect-synced-tsc
case...the whole point of this patch is trying to improve , not damage...
Although I'm not quite sure how much diff the patch could
introduce...,given execution of
the function has already synced between CPUs....But this should be
another topic..