2007-10-10 07:37:52

by Wu Fengguang

[permalink] [raw]
Subject: Re: x86_64 : kernel initial decompression hangs on vmware

Hi Zachary,

One of my friends' vmware "hangs" on booting Linux 2.6.23, and then get
it to work by applying your patch at http://lkml.org/lkml/2007/8/4/72.

It would be nice to see your fix going into mainline :-)

Thank you,
Fengguang
---
PS. the original patch:

VT is very picky about when it can enter execution.
Get all segments setup and get LDT and TR into valid state to allow
VT execution under VMware and KVM (untested).

This makes the boot decompression run under VT, which makes it several
orders of magnitude faster on 64-bit Intel hardware.

Before, I was seeing times up to a minute or more to decompress a 1.3MB kernel
on a very fast box.

Signed-off-by: Zachary Amsden <[email protected]>
===================================================================
--- a/arch/x86_64/boot/compressed/head.S
+++ a/arch/x86_64/boot/compressed/head.S
@@ -195,6 +195,11 @@
movl %eax, %ds
movl %eax, %es
movl %eax, %ss
+ movl %eax, %fs
+ movl %eax, %gs
+ lldt %ax
+ movl $0x20, %eax
+ ltr %ax

/* Compute the decompressed kernel start address. It is where
* we were loaded at aligned to a 2M boundary. %rbp contains the
@@ -295,6 +300,8 @@
.quad 0x0000000000000000 /* NULL descriptor */
.quad 0x00af9a000000ffff /* __KERNEL_CS */
.quad 0x00cf92000000ffff /* __KERNEL_DS */
+ .quad 0x0080890000000000 /* TS descriptor */
+ .quad 0x0000000000000000 /* TS continued */
gdt_end:
.bss
/* Stack for uncompression */


2007-10-10 13:19:03

by Andi Kleen

[permalink] [raw]
Subject: Re: x86_64 : kernel initial decompression hangs on vmware

On Wednesday 10 October 2007 09:37:39 Fengguang Wu wrote:

> One of my friends' vmware "hangs"

It should just be a little slow. VMware seems to do something fishy
here -- KVM or Xen using VT don't have this issue.

> on booting Linux 2.6.23, and then get
> it to work by applying your patch at http://lkml.org/lkml/2007/8/4/72.

The patch is already in 2.6.23; it was just missing in .22. Perhaps
your friend confused those two.

-Andi

2007-10-10 20:32:46

by Wu Fengguang

[permalink] [raw]
Subject: Re: x86_64 : kernel initial decompression hangs on vmware

On Wed, Oct 10, 2007 at 03:18:42PM +0200, Andi Kleen wrote:
> On Wednesday 10 October 2007 09:37:39 Fengguang Wu wrote:
>
> > One of my friends' vmware "hangs"
>
> It should just be a little slow. VMware seems to do something fishy
> here -- KVM or Xen using VT don't have this issue.

Yeah, it's a false hang ;-)

> > on booting Linux 2.6.23, and then get
> > it to work by applying your patch at http://lkml.org/lkml/2007/8/4/72.
>
> The patch is already in 2.6.23; it was just missing in .22. Perhaps
> your friend confused those two.

Ah indeed. Sorry for the noise.

Fengguang