public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* Slow Kernel Boot
@ 2008-01-07 22:05 Dave Hansen
  2008-01-07 22:16 ` Izik Eidus
  2008-01-08  6:42 ` Amit Shah
  0 siblings, 2 replies; 11+ messages in thread
From: Dave Hansen @ 2008-01-07 22:05 UTC (permalink / raw)
  To: Izik Eidus; +Cc: kvm-devel

With kvm-44, I thought my kernel was freezing during boot if I gave it
1G of RAM.  But, it boots fine with 512M.

So, I instrumented the kernel, and found out that it is just taking a
long time to memset a 58MB area of memory for mem_map[].  It appears to
be taking a mmio_exit for every access of every byte of memory.  The end
result is a ~100kbps memset() speed.  Yes, 100 kilobytes/sec.

I just tried kvm from git, and the kernel doesn't even get that far.  I
see this in debugfs
 
	insn_emulation:1393985

even before I get a single kernel message.  And it keeps going up, fast.
I can get the kernel to boot just fine if I give it less than 896MB of
RAM.

kvm-44 boots long enough for me to see a really funky e820 table:

BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 00000000fffbd000 (usable)
 BIOS-e820: 00000000fffbd000 - 00000000ffff0000 (reserved)

Note that this is with '-m 1G'!!  It looks to me like one of those
sections is basically from 0x100000 up to ~4G and *usable*.  That
doesn't look right.

Eventually, the kvm-git one just pukes:

exception 13 (33)
rax 0000000000000002 rbx 0000000000002000 rcx 0000000000000000 rdx 0000000000000000
rsi 00000000002a1358 rdi 0000000000099100 rsp 000000000000673a rbp 000000000000673a
r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11 0000000000000000
r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15 0000000000000000
rip 000000000000fb24 rflags 00033086
cs 9020 (00090200/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
ds 9000 (00090000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
es 9000 (00090000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
ss 9000 (00090000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
fs 9000 (00090000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
gs 9000 (00090000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
tr 0000 (fffbd000/00002088 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0)
ldt 0000 (00000000/0000ffff p 1 dpl 0 db 0 s 0 type 2 l 0 g 0 avl 0)
gdt 8f5c/27
idt 0/3ff
cr0 60000010 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 --> f0 01 f0 03 0e 00 00 00 70 01 70 03 0f 00 00 00 e8 01 e0 03 0c 00 00 00 68 01 60 03 0b 00
Aborted

Any idea how to debug this?

-- Dave


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

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

end of thread, other threads:[~2008-01-08 19:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-07 22:05 Slow Kernel Boot Dave Hansen
2008-01-07 22:16 ` Izik Eidus
     [not found]   ` <4782A4AF.6020902-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-07 22:46     ` Dave Hansen
2008-01-07 22:46       ` Izik Eidus
     [not found]         ` <4782ABCA.2090303-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-07 23:03           ` Dave Hansen
2008-01-08  6:42 ` Amit Shah
     [not found]   ` <200801081212.53737.amit.shah-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-08 13:01     ` Amit Shah
     [not found]       ` <200801081831.54465.amit.shah-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-08 12:54         ` Izik Eidus
2008-01-08 13:18         ` Amit Shah
2008-01-08 19:13     ` Dave Hansen
2008-01-08 19:26       ` Daniel P. Berrange

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