All of lore.kernel.org
 help / color / mirror / Atom feed
* Commit f06e4ec breaks vmware
@ 2008-02-03 14:11 Jan Engelhardt
  2008-02-04  4:19 ` Petr Vandrovec
  2008-02-04 11:51 ` Ingo Molnar
  0 siblings, 2 replies; 11+ messages in thread
From: Jan Engelhardt @ 2008-02-03 14:11 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Thomas Gleixner, Linux Kernel Mailing List, petr

Hi,


sad to say, but f06e4ec... breaks booting the kernel in vmware 
(bisected). Booting just stops after

	Checking for 'hlt' instruction...

commit f06e4ec1c15691b0cfd2397ae32214fa36c90d71
Author: Ingo Molnar <mingo@elte.hu>
Date:   Wed Jan 30 13:32:39 2008 +0100

    x86: read_tsc sync
    
    make native_read_tsc() always non-speculative.


Any debugging hintss?


thanks,
Jan

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

* Re: Commit f06e4ec breaks vmware
  2008-02-03 14:11 Commit f06e4ec breaks vmware Jan Engelhardt
@ 2008-02-04  4:19 ` Petr Vandrovec
  2008-02-04 11:51 ` Ingo Molnar
  1 sibling, 0 replies; 11+ messages in thread
From: Petr Vandrovec @ 2008-02-04  4:19 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Ingo Molnar, Thomas Gleixner, Linux Kernel Mailing List

Jan Engelhardt wrote:
> Hi,
> 
> 
> sad to say, but f06e4ec... breaks booting the kernel in vmware 
> (bisected). Booting just stops after
> 
> 	Checking for 'hlt' instruction...
> 
> commit f06e4ec1c15691b0cfd2397ae32214fa36c90d71
> Author: Ingo Molnar <mingo@elte.hu>
> Date:   Wed Jan 30 13:32:39 2008 +0100
> 
>     x86: read_tsc sync
>     
>     make native_read_tsc() always non-speculative.
> 
> 
> Any debugging hintss?

It does not make lot of sense...  What is processor (AMD/Intel, VT/SVM, 
...), kernel (32/64), and product?

Can you try adding

monitor_control.disable_rdtscopt_bt="TRUE"

or

monitor_control.virtual_rdtsc="FALSE"

to your configuration file?
					Thanks,
						Petr



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

* Re: Commit f06e4ec breaks vmware
  2008-02-03 14:11 Commit f06e4ec breaks vmware Jan Engelhardt
  2008-02-04  4:19 ` Petr Vandrovec
@ 2008-02-04 11:51 ` Ingo Molnar
  2008-02-04 14:01   ` Jeff Chua
  2008-02-04 14:58   ` Jan Engelhardt
  1 sibling, 2 replies; 11+ messages in thread
From: Ingo Molnar @ 2008-02-04 11:51 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Thomas Gleixner, Linux Kernel Mailing List, petr


* Jan Engelhardt <jengelh@computergmbh.de> wrote:

> sad to say, but f06e4ec... breaks booting the kernel in vmware 
> (bisected). Booting just stops after
> 
> 	Checking for 'hlt' instruction...
> 
> commit f06e4ec1c15691b0cfd2397ae32214fa36c90d71
> Author: Ingo Molnar <mingo@elte.hu>
> Date:   Wed Jan 30 13:32:39 2008 +0100
> 
>     x86: read_tsc sync
>     
>     make native_read_tsc() always non-speculative.

could you send us the /proc/cpuinfo data of the guest CPU?

if latest -git still fails, does the patch below solve the problem?

	Ingo

---
 include/asm-x86/system.h |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Index: linux-x86.q/include/asm-x86/system.h
===================================================================
--- linux-x86.q.orig/include/asm-x86/system.h
+++ linux-x86.q/include/asm-x86/system.h
@@ -407,8 +407,7 @@ void default_idle(void);
  */
 static inline void rdtsc_barrier(void)
 {
-	alternative(ASM_NOP3, "mfence", X86_FEATURE_MFENCE_RDTSC);
-	alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC);
+	smp_mb();
 }
 
 #endif

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

* Re: Commit f06e4ec breaks vmware
  2008-02-04 11:51 ` Ingo Molnar
@ 2008-02-04 14:01   ` Jeff Chua
  2008-02-04 14:48     ` Ingo Molnar
  2008-02-04 14:53     ` Ingo Molnar
  2008-02-04 14:58   ` Jan Engelhardt
  1 sibling, 2 replies; 11+ messages in thread
From: Jeff Chua @ 2008-02-04 14:01 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Jan Engelhardt, Thomas Gleixner, Linux Kernel Mailing List, petr

On Feb 4, 2008 7:51 PM, Ingo Molnar <mingo@elte.hu> wrote:

> > sad to say, but f06e4ec... breaks booting the kernel in vmware
> > commit f06e4ec1c15691b0cfd2397ae32214fa36c90d71

I had the same problem. But I bisect down to a earlier commit.
Reverting this patch, and I can boot up using vmware.

commit 8d947344c47a40626730bb80d136d8daac9f2060
Author: Glauber de Oliveira Costa <gcosta@redhat.com>
Date:   Wed Jan 30 13:31:12 2008 +0100

    x86: change write_idt_entry signature


> could you send us the /proc/cpuinfo data of the guest CPU?

Here's my guest's /proc/cpuinfo

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 14
model name      : Intel(R) Core(TM) Duo CPU      L2500  @ 1.83GHz
stepping        : 8
cpu MHz         : 1828.645
cache size      : 2048 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss constant_tsc up
arch_perfmon pebs bts pni
bogomips        : 3546.54
clflush size    : 64


> if latest -git still fails, does the patch below solve the problem?

Doesn't seem to work for me.


Thanks,
Jeff.

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

* Re: Commit f06e4ec breaks vmware
  2008-02-04 14:01   ` Jeff Chua
@ 2008-02-04 14:48     ` Ingo Molnar
  2008-02-04 14:53     ` Ingo Molnar
  1 sibling, 0 replies; 11+ messages in thread
From: Ingo Molnar @ 2008-02-04 14:48 UTC (permalink / raw)
  To: Jeff Chua
  Cc: Jan Engelhardt, Thomas Gleixner, Linux Kernel Mailing List, petr


* Jeff Chua <jeff.chua.linux@gmail.com> wrote:

> On Feb 4, 2008 7:51 PM, Ingo Molnar <mingo@elte.hu> wrote:
> 
> > > sad to say, but f06e4ec... breaks booting the kernel in vmware
> > > commit f06e4ec1c15691b0cfd2397ae32214fa36c90d71
> 
> I had the same problem. But I bisect down to a earlier commit.
> Reverting this patch, and I can boot up using vmware.
> 
> commit 8d947344c47a40626730bb80d136d8daac9f2060
> Author: Glauber de Oliveira Costa <gcosta@redhat.com>
> Date:   Wed Jan 30 13:31:12 2008 +0100
> 
>     x86: change write_idt_entry signature

32-bit or 64-bit guest kernel?

	Ingo

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

* Re: Commit f06e4ec breaks vmware
  2008-02-04 14:01   ` Jeff Chua
  2008-02-04 14:48     ` Ingo Molnar
@ 2008-02-04 14:53     ` Ingo Molnar
  2008-02-04 15:30       ` Jeff Chua
  1 sibling, 1 reply; 11+ messages in thread
From: Ingo Molnar @ 2008-02-04 14:53 UTC (permalink / raw)
  To: Jeff Chua
  Cc: Jan Engelhardt, Thomas Gleixner, Linux Kernel Mailing List, petr,
	Glauber de Oliveira Costa


* Jeff Chua <jeff.chua.linux@gmail.com> wrote:

> On Feb 4, 2008 7:51 PM, Ingo Molnar <mingo@elte.hu> wrote:
> 
> > > sad to say, but f06e4ec... breaks booting the kernel in vmware
> > > commit f06e4ec1c15691b0cfd2397ae32214fa36c90d71
> 
> I had the same problem. But I bisect down to a earlier commit.
> Reverting this patch, and I can boot up using vmware.
> 
> commit 8d947344c47a40626730bb80d136d8daac9f2060
> Author: Glauber de Oliveira Costa <gcosta@redhat.com>
> Date:   Wed Jan 30 13:31:12 2008 +0100
> 
>     x86: change write_idt_entry signature

does the patch below ontop of x86.git#mm fix this?

	Ingo

---
 arch/x86/kernel/vmi_32.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-x86.q/arch/x86/kernel/vmi_32.c
===================================================================
--- linux-x86.q.orig/arch/x86/kernel/vmi_32.c
+++ linux-x86.q/arch/x86/kernel/vmi_32.c
@@ -220,21 +220,21 @@ static void vmi_set_tr(void)
 static void vmi_write_idt_entry(gate_desc *dt, int entry, const gate_desc *g)
 {
 	u32 *idt_entry = (u32 *)g;
-	vmi_ops.write_idt_entry(dt, entry, idt_entry[0], idt_entry[2]);
+	vmi_ops.write_idt_entry(dt, entry, idt_entry[0], idt_entry[1]);
 }
 
 static void vmi_write_gdt_entry(struct desc_struct *dt, int entry,
 				const void *desc, int type)
 {
 	u32 *gdt_entry = (u32 *)desc;
-	vmi_ops.write_gdt_entry(dt, entry, gdt_entry[0], gdt_entry[2]);
+	vmi_ops.write_gdt_entry(dt, entry, gdt_entry[0], gdt_entry[1]);
 }
 
 static void vmi_write_ldt_entry(struct desc_struct *dt, int entry,
 				const void *desc)
 {
 	u32 *ldt_entry = (u32 *)desc;
-	vmi_ops.write_idt_entry(dt, entry, ldt_entry[0], ldt_entry[2]);
+	vmi_ops.write_idt_entry(dt, entry, ldt_entry[0], ldt_entry[1]);
 }
 
 static void vmi_load_sp0(struct tss_struct *tss,

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

* Re: Commit f06e4ec breaks vmware
  2008-02-04 11:51 ` Ingo Molnar
  2008-02-04 14:01   ` Jeff Chua
@ 2008-02-04 14:58   ` Jan Engelhardt
  1 sibling, 0 replies; 11+ messages in thread
From: Jan Engelhardt @ 2008-02-04 14:58 UTC (permalink / raw)
  To: Petr Vandrovec, Ingo Molnar; +Cc: Thomas Gleixner, Linux Kernel Mailing List


On Feb 3 2008 20:19, Petr Vandrovec wrote:
>> 
>> sad to say, but f06e4ec... breaks booting the kernel in vmware (bisected).
>> Booting just stops after
>> 
>>  Checking for 'hlt' instruction...
>> 
>> commit f06e4ec1c15691b0cfd2397ae32214fa36c90d71
>> Author: Ingo Molnar <mingo@elte.hu>
>> Date:   Wed Jan 30 13:32:39 2008 +0100
>> 
>>     x86: read_tsc sync
>>     
>>     make native_read_tsc() always non-speculative.
>> 
>> Any debugging hints?
>
> It does not make lot of sense...  What is processor (AMD/Intel, VT/SVM, ...),
> kernel (32/64), and product?

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 8
model name      : AMD Athlon(tm) XP 2000+
stepping        : 0
cpu MHz         : 1666.779
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
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 mmx fxsr sse syscall mmxext 3dnowext 3dnow up ts
bogomips        : 3334.92
clflush size    : 32

No hardware virtualization.
Host: 32-bit 2.6.23.14, VMware Workstation 6.0.2-b59824.
Guest: 32-bit f06e4ec...


> Can you try adding
>
> monitor_control.disable_rdtscopt_bt="TRUE"

Nope.

> monitor_control.virtual_rdtsc="FALSE"

No change either.


But booting the guest kernel with 'notsc' works around the issue.


On Feb 4 2008 12:51, Ingo Molnar wrote:
>
>if latest -git still fails, does the patch below solve the problem?

Latest git (9135f1901ee6449dfe338adf6e40e9c2025b8150) works, as does the 
patch on top of f06e4ec1c15691b0cfd2397ae32214fa36c90d71.


>@@ -407,8 +407,7 @@ void default_idle(void);
>  */
> static inline void rdtsc_barrier(void)
> {
>-	alternative(ASM_NOP3, "mfence", X86_FEATURE_MFENCE_RDTSC);
>-	alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC);
>+	smp_mb();
> }
> 
> #endif
>

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

* Re: Commit f06e4ec breaks vmware
  2008-02-04 14:53     ` Ingo Molnar
@ 2008-02-04 15:30       ` Jeff Chua
  2008-02-04 15:36         ` Ingo Molnar
  0 siblings, 1 reply; 11+ messages in thread
From: Jeff Chua @ 2008-02-04 15:30 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Jan Engelhardt, Thomas Gleixner, Linux Kernel Mailing List, petr,
	Glauber de Oliveira Costa

On Feb 4, 2008 10:53 PM, Ingo Molnar <mingo@elte.hu> wrote:
> > commit 8d947344c47a40626730bb80d136d8daac9f2060
> > Author: Glauber de Oliveira Costa <gcosta@redhat.com>
> > Date:   Wed Jan 30 13:31:12 2008 +0100
> >
> >     x86: change write_idt_entry signature
>
> does the patch below ontop of x86.git#mm fix this?


> 32-bit or 64-bit guest kernel?

32-bit.

Yep, this fixed the problem.

You're amazingly fast!

Thank you,
Jeff.

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

* Re: Commit f06e4ec breaks vmware
  2008-02-04 15:30       ` Jeff Chua
@ 2008-02-04 15:36         ` Ingo Molnar
  2008-02-04 15:48           ` Jeff Chua
  2008-02-05  1:31           ` Zachary Amsden
  0 siblings, 2 replies; 11+ messages in thread
From: Ingo Molnar @ 2008-02-04 15:36 UTC (permalink / raw)
  To: Jeff Chua
  Cc: Jan Engelhardt, Thomas Gleixner, Linux Kernel Mailing List, petr,
	Glauber de Oliveira Costa


* Jeff Chua <jeff.chua.linux@gmail.com> wrote:

> On Feb 4, 2008 10:53 PM, Ingo Molnar <mingo@elte.hu> wrote:
> > > commit 8d947344c47a40626730bb80d136d8daac9f2060
> > > Author: Glauber de Oliveira Costa <gcosta@redhat.com>
> > > Date:   Wed Jan 30 13:31:12 2008 +0100
> > >
> > >     x86: change write_idt_entry signature
> >
> > does the patch below ontop of x86.git#mm fix this?
> 
> 
> > 32-bit or 64-bit guest kernel?
> 
> 32-bit.
> 
> Yep, this fixed the problem.

great! I've added:

   Tested-by: Jeff Chua <jeff.chua.linux@gmail.com>

to the commit message as well, if you dont mind. Full patch is below.

> You're amazingly fast!

you did all the hard work by bisecting it down so fast - fixing it was 
easy :)

	Ingo

----------------------->
Subject: x86: VMI fix
From: Ingo Molnar <mingo@elte.hu>

Jeff Chua bisected down a vmware guest boot breakage (hang) to
this paravirt change:

  commit 8d947344c47a40626730bb80d136d8daac9f2060
  Author: Glauber de Oliveira Costa <gcosta@redhat.com>
  Date:   Wed Jan 30 13:31:12 2008 +0100

    x86: change write_idt_entry signature

fix the off-by-one indexing bug ...

Bisected-by: Jeff Chua <jeff.chua.linux@gmail.com>
Tested-by: Jeff Chua <jeff.chua.linux@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 arch/x86/kernel/vmi_32.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-x86.q/arch/x86/kernel/vmi_32.c
===================================================================
--- linux-x86.q.orig/arch/x86/kernel/vmi_32.c
+++ linux-x86.q/arch/x86/kernel/vmi_32.c
@@ -220,21 +220,21 @@ static void vmi_set_tr(void)
 static void vmi_write_idt_entry(gate_desc *dt, int entry, const gate_desc *g)
 {
 	u32 *idt_entry = (u32 *)g;
-	vmi_ops.write_idt_entry(dt, entry, idt_entry[0], idt_entry[2]);
+	vmi_ops.write_idt_entry(dt, entry, idt_entry[0], idt_entry[1]);
 }
 
 static void vmi_write_gdt_entry(struct desc_struct *dt, int entry,
 				const void *desc, int type)
 {
 	u32 *gdt_entry = (u32 *)desc;
-	vmi_ops.write_gdt_entry(dt, entry, gdt_entry[0], gdt_entry[2]);
+	vmi_ops.write_gdt_entry(dt, entry, gdt_entry[0], gdt_entry[1]);
 }
 
 static void vmi_write_ldt_entry(struct desc_struct *dt, int entry,
 				const void *desc)
 {
 	u32 *ldt_entry = (u32 *)desc;
-	vmi_ops.write_idt_entry(dt, entry, ldt_entry[0], ldt_entry[2]);
+	vmi_ops.write_idt_entry(dt, entry, ldt_entry[0], ldt_entry[1]);
 }
 
 static void vmi_load_sp0(struct tss_struct *tss,

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

* Re: Commit f06e4ec breaks vmware
  2008-02-04 15:36         ` Ingo Molnar
@ 2008-02-04 15:48           ` Jeff Chua
  2008-02-05  1:31           ` Zachary Amsden
  1 sibling, 0 replies; 11+ messages in thread
From: Jeff Chua @ 2008-02-04 15:48 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Jan Engelhardt, Thomas Gleixner, Linux Kernel Mailing List, petr,
	Glauber de Oliveira Costa

On Feb 4, 2008 11:36 PM, Ingo Molnar <mingo@elte.hu> wrote:
> great! I've added:
> you did all the hard work by bisecting it down so fast - fixing it was
> easy :)

Ingo,

Took me the whole of Friday night. I thought it was just me and my
vmware, so I didn't bother reporting until Jan reported it. Worried
that someone might just shoot me down for reporting a vmware problem
as it booted fine with kvm, and on X60s.

Thanks again for fixing it. Now I can test latest linux git version on
vmware again (host is running linux as well).

Jeff.

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

* Re: Commit f06e4ec breaks vmware
  2008-02-04 15:36         ` Ingo Molnar
  2008-02-04 15:48           ` Jeff Chua
@ 2008-02-05  1:31           ` Zachary Amsden
  1 sibling, 0 replies; 11+ messages in thread
From: Zachary Amsden @ 2008-02-05  1:31 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Jeff Chua, Jan Engelhardt, Thomas Gleixner,
	Linux Kernel Mailing List, petr, Glauber de Oliveira Costa


On Mon, 2008-02-04 at 16:36 +0100, Ingo Molnar wrote:
> * Jeff Chua <jeff.chua.linux@gmail.com> wrote:
> 
> > On Feb 4, 2008 10:53 PM, Ingo Molnar <mingo@elte.hu> wrote:
> > > > commit 8d947344c47a40626730bb80d136d8daac9f2060
> > > > Author: Glauber de Oliveira Costa <gcosta@redhat.com>
> > > > Date:   Wed Jan 30 13:31:12 2008 +0100
> > > >
> > > >     x86: change write_idt_entry signature
> > >
> > > does the patch below ontop of x86.git#mm fix this?
> > 
> > 
> > > 32-bit or 64-bit guest kernel?
> > 
> > 32-bit.
> > 
> > Yep, this fixed the problem.
> 
> great! I've added:
> 
>    Tested-by: Jeff Chua <jeff.chua.linux@gmail.com>
> 
> to the commit message as well, if you dont mind. Full patch is below.

Acked-by: Zachary Amsden <zach@vmware.com>

Thanks, Ingo!


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

end of thread, other threads:[~2008-02-05  1:28 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-03 14:11 Commit f06e4ec breaks vmware Jan Engelhardt
2008-02-04  4:19 ` Petr Vandrovec
2008-02-04 11:51 ` Ingo Molnar
2008-02-04 14:01   ` Jeff Chua
2008-02-04 14:48     ` Ingo Molnar
2008-02-04 14:53     ` Ingo Molnar
2008-02-04 15:30       ` Jeff Chua
2008-02-04 15:36         ` Ingo Molnar
2008-02-04 15:48           ` Jeff Chua
2008-02-05  1:31           ` Zachary Amsden
2008-02-04 14:58   ` Jan Engelhardt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.