lkml.org 
[lkml]   [2007]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Andi, you broke my laptop :-)
Andy, Pete, this patch also causes our test machines to hang hard during boot.
x86_64 smp kernel, single cpu Athlon 64 machine,
cpuinfo below.

Benny

$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 79
model name : AMD Athlon(tm) 64 Processor 3800+
stepping : 2
cpu MHz : 2412.397
cache size : 512 KB
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow up pni cx16 lahf_lm svm cr8_legacy
bogomips : 4828.89
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

Pete Zaitcev <zaitcev@redhat.com> wrote:
>
> Hi, Andi:
>
> The attached patch (actually, git show output) makes my Dell 1501 to hang
> on boot. Sorry, I have no clue why... The culprit is found with git bisect.
> But yes, it's an AMD MK-36. I use an x86_64 kernel. It is 100% reproducible.
>
> Cheers,
> -- Pete
>
> commit c5bcb5635a03da3158f121ae20ccbbf72b4fc62a
> Author: Andi Kleen <ak@suse.de>
> Date: Wed May 2 19:27:21 2007 +0200
>
> [PATCH] x86: Use RDTSCP for synchronous get_cycles if possible
>
> RDTSCP is already synchronous and doesn't need an explicit CPUID.
> This is a little faster and more importantly avoids VMEXITs on Hypervisors.
>
> Original patch from Joerg Roedel, but reworked by AK
> Also includes miscompilation fix by Eric Biederman
>
> Cc: "Joerg Roedel" <joerg.roedel@amd.com>
>
> Signed-off-by: Andi Kleen <ak@suse.de>
>
> diff --git a/include/asm-i386/tsc.h b/include/asm-i386/tsc.h
> index 0181f9d..3f3c1fa 100644
> --- a/include/asm-i386/tsc.h
> +++ b/include/asm-i386/tsc.h
> @@ -38,6 +38,15 @@ static __always_inline cycles_t get_cycles_sync(void)
> unsigned eax;
>
> /*
> + * Use RDTSCP if possible; it is guaranteed to be synchronous
> + * and doesn't cause a VMEXIT on Hypervisors
> + */
> + alternative_io(ASM_NOP3, ".byte 0x0f,0x01,0xf9", X86_FEATURE_RDTSCP,
> + "=A" (ret), "0" (0ULL) : "ecx", "memory");
> + if (ret)
> + return ret;
> +
> + /*
> * Don't do an additional sync on CPUs where we know
> * RDTSC is already synchronous:
> */
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-05-10 12:15    [W:0.042 / U:0.468 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site