public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86-64: Fix bad assumption that dualcore cpus have synced TSCs (resend)
@ 2005-09-26 19:46 john stultz
  2005-09-26 20:33 ` Andrew Morton
  2005-09-26 22:15 ` Stefan Smietanowski
  0 siblings, 2 replies; 6+ messages in thread
From: john stultz @ 2005-09-26 19:46 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Andi Kleen, lkml

Andrew,
	This patch should resolve the issue seen in bugme bug #5105, where it
is assumed that dualcore x86_64 systems have synced TSCs. This is not
the case, and alternate timesources should be used instead.

For more details, see:
http://bugzilla.kernel.org/show_bug.cgi?id=5105

Andi's earlier concerns that the TSCs should be synced on dualcore
systems have been resolved by confirmation from AMD folks that they can
be unsynced.

Please consider for inclusion in your tree.

thanks
-john

diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c
--- a/arch/x86_64/kernel/time.c
+++ b/arch/x86_64/kernel/time.c
@@ -959,9 +959,6 @@ static __init int unsynchronized_tsc(voi
  	   are handled in the OEM check above. */
  	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
  		return 0;
- 	/* All in a single socket - should be synchronized */
- 	if (cpus_weight(cpu_core_map[0]) == num_online_cpus())
- 		return 0;
 #endif
  	/* Assume multi socket systems are not synchronized */
  	return num_online_cpus() > 1;



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] x86-64: Fix bad assumption that dualcore cpus have synced TSCs (resend)
  2005-09-26 19:46 [PATCH] x86-64: Fix bad assumption that dualcore cpus have synced TSCs (resend) john stultz
@ 2005-09-26 20:33 ` Andrew Morton
  2005-09-27  8:34   ` Andi Kleen
  2005-09-26 22:15 ` Stefan Smietanowski
  1 sibling, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2005-09-26 20:33 UTC (permalink / raw)
  To: john stultz; +Cc: ak, linux-kernel

john stultz <johnstul@us.ibm.com> wrote:
>
> 	This patch should resolve the issue seen in bugme bug #5105, where it
> is assumed that dualcore x86_64 systems have synced TSCs. This is not
> the case, and alternate timesources should be used instead.
> 
> For more details, see:
> http://bugzilla.kernel.org/show_bug.cgi?id=5105
> 
> Andi's earlier concerns that the TSCs should be synced on dualcore
> systems have been resolved by confirmation from AMD folks that they can
> be unsynced.

OK, thanks - it's good to knock that one over.

Andi, does this look OK for 2.6.14?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] x86-64: Fix bad assumption that dualcore cpus have synced TSCs (resend)
  2005-09-26 19:46 [PATCH] x86-64: Fix bad assumption that dualcore cpus have synced TSCs (resend) john stultz
  2005-09-26 20:33 ` Andrew Morton
@ 2005-09-26 22:15 ` Stefan Smietanowski
  2005-09-26 22:28   ` john stultz
  1 sibling, 1 reply; 6+ messages in thread
From: Stefan Smietanowski @ 2005-09-26 22:15 UTC (permalink / raw)
  To: john stultz; +Cc: Andrew Morton, Andi Kleen, lkml

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi John.

> 	This patch should resolve the issue seen in bugme bug #5105, where it
> is assumed that dualcore x86_64 systems have synced TSCs. This is not
> the case, and alternate timesources should be used instead.
> 
> For more details, see:
> http://bugzilla.kernel.org/show_bug.cgi?id=5105
> 
> Andi's earlier concerns that the TSCs should be synced on dualcore
> systems have been resolved by confirmation from AMD folks that they can
> be unsynced.
> 
> Please consider for inclusion in your tree.

Wouldn't it be a good idea to change the comment following
the code you removed as well?

Why have a comment saying "multi socket systems" if there is no
distinction anymore?

> 
> diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c
> --- a/arch/x86_64/kernel/time.c
> +++ b/arch/x86_64/kernel/time.c
> @@ -959,9 +959,6 @@ static __init int unsynchronized_tsc(voi
>   	   are handled in the OEM check above. */
>   	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
>   		return 0;
> - 	/* All in a single socket - should be synchronized */
> - 	if (cpus_weight(cpu_core_map[0]) == num_online_cpus())
> - 		return 0;
>  #endif
>   	/* Assume multi socket systems are not synchronized */
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   	return num_online_cpus() > 1;

// Stefan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)

iD8DBQFDOHMbBrn2kJu9P78RAnSlAKCE2NSTYbi553i0OGadmRfuMdD3hgCgwedE
blCF8zdC+fuTOgIuBy1Af60=
=T4tA
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] x86-64: Fix bad assumption that dualcore cpus have synced TSCs (resend)
  2005-09-26 22:15 ` Stefan Smietanowski
@ 2005-09-26 22:28   ` john stultz
  2005-09-26 23:31     ` Stefan Smietanowski
  0 siblings, 1 reply; 6+ messages in thread
From: john stultz @ 2005-09-26 22:28 UTC (permalink / raw)
  To: Stefan Smietanowski; +Cc: Andrew Morton, Andi Kleen, lkml

On Tue, 2005-09-27 at 00:15 +0200, Stefan Smietanowski wrote:

> Wouldn't it be a good idea to change the comment following
> the code you removed as well?
> 
> Why have a comment saying "multi socket systems" if there is no
> distinction anymore?
> 
> > 
> > diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c
> > --- a/arch/x86_64/kernel/time.c
> > +++ b/arch/x86_64/kernel/time.c
> > @@ -959,9 +959,6 @@ static __init int unsynchronized_tsc(voi
> >   	   are handled in the OEM check above. */
> >   	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
> >   		return 0;
> > - 	/* All in a single socket - should be synchronized */
> > - 	if (cpus_weight(cpu_core_map[0]) == num_online_cpus())
> > - 		return 0;
> >  #endif
> >   	/* Assume multi socket systems are not synchronized */
>        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >   	return num_online_cpus() > 1;

Yea, good point, that should probably be "SMP systems". 

Do you want to send the patch to Andrew? :)

thanks
-john


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] x86-64: Fix bad assumption that dualcore cpus have synced TSCs (resend)
  2005-09-26 22:28   ` john stultz
@ 2005-09-26 23:31     ` Stefan Smietanowski
  0 siblings, 0 replies; 6+ messages in thread
From: Stefan Smietanowski @ 2005-09-26 23:31 UTC (permalink / raw)
  To: john stultz; +Cc: Andrew Morton, Andi Kleen, lkml

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

john stultz wrote:
> On Tue, 2005-09-27 at 00:15 +0200, Stefan Smietanowski wrote:
> 
> 
>>Wouldn't it be a good idea to change the comment following
>>the code you removed as well?
>>
>>Why have a comment saying "multi socket systems" if there is no
>>distinction anymore?
>>

> Yea, good point, that should probably be "SMP systems". 
> 
> Do you want to send the patch to Andrew? :)

Sure. Something like this should suffice.

Signed-off-by: Stefan Smietanowski <stesmi@stesmi.com>

diff --git old/arch/x86_64/kernel/time.c new/arch/x86_64/kernel/time.c
- --- old/arch/x86_64/kernel/time.c
+++ new/arch/x86_64/kernel/time.c
@@ -959,11 +959,8 @@ static __init int unsynchronized_tsc(voi
  	   are handled in the OEM check above. */
  	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
  		return 0;
- - 	/* All in a single socket - should be synchronized */
- - 	if (cpus_weight(cpu_core_map[0]) == num_online_cpus())
- - 		return 0;
 #endif
- - 	/* Assume multi socket systems are not synchronized */
+ 	/* Assume SMP systems are not synchronized */
  	return num_online_cpus() > 1;
 }

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)

iD8DBQFDOITIBrn2kJu9P78RAopLAJ0anLvWElwgW+vmxJ7jPWehWF0F3gCfUXv8
2ORxa8Jfj9o4LE3P0A+dSTE=
=AGkR
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] x86-64: Fix bad assumption that dualcore cpus have synced TSCs (resend)
  2005-09-26 20:33 ` Andrew Morton
@ 2005-09-27  8:34   ` Andi Kleen
  0 siblings, 0 replies; 6+ messages in thread
From: Andi Kleen @ 2005-09-27  8:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: john stultz, linux-kernel

On Monday 26 September 2005 22:33, Andrew Morton wrote:
> john stultz <johnstul@us.ibm.com> wrote:
> > 	This patch should resolve the issue seen in bugme bug #5105, where it
> > is assumed that dualcore x86_64 systems have synced TSCs. This is not
> > the case, and alternate timesources should be used instead.
> >
> > For more details, see:
> > http://bugzilla.kernel.org/show_bug.cgi?id=5105
> >
> > Andi's earlier concerns that the TSCs should be synced on dualcore
> > systems have been resolved by confirmation from AMD folks that they can
> > be unsynced.
>
> OK, thanks - it's good to knock that one over.
>
> Andi, does this look OK for 2.6.14?

Yes.

-Andi


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-09-27  8:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-26 19:46 [PATCH] x86-64: Fix bad assumption that dualcore cpus have synced TSCs (resend) john stultz
2005-09-26 20:33 ` Andrew Morton
2005-09-27  8:34   ` Andi Kleen
2005-09-26 22:15 ` Stefan Smietanowski
2005-09-26 22:28   ` john stultz
2005-09-26 23:31     ` Stefan Smietanowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox