xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* OVMF very slow on AMD
@ 2016-07-14 15:53 Anthony PERARD
  2016-07-15 13:48 ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 19+ messages in thread
From: Anthony PERARD @ 2016-07-14 15:53 UTC (permalink / raw)
  To: xen-devel

Hi,

I've been investigating why OVMF is very slow  in a Xen guest on an AMD
host. This, I think, is the current failure that osstest is having.

I've only look at a specific part of OVMF where the slowdown is very
obvious on AMD vs Intel, the decompression.

This is what I get on AMD, via the Xen serial console port:
  Invoking OVMF ...
  SecCoreStartupWithStack(0xFFFCC000, 0x818000)
then, nothing for almost 1 minute, then the rest of the boot process.
The same binary on Intel, the output does not stay "stuck" here.

I could pin-point which part of the boot process takes a long time, but
there is not anything obvious in there, just a loop that decompress the
ovmf binary, with plenty of iteration.
I tried `xentrace', but the trace does not show anything wrong, there is
just an interrupt from time to time. I've tried to had some tracepoint
inside this decompresion function in OVMF, but that did not reveal
anything either, maybe there where not at the right place.

Anyway, the function is: LzmaDec_DecodeReal() from the file
IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/Sdk/C/LzmaDec.c
you can get the assembly from this object:
Build/OvmfX64/DEBUG_GCC49/X64/IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib/OUTPUT/Sdk/C/LzmaDec.obj
This is with OVMF upstream (https://github.com/tianocore/edk2).
I can send the assembly if needed.

So, this loop takes about 1 minute on my AMD machine (AMD Opteron(tm)
Processor 4284), and less that 1 second on an Intel machine.
If I compile OVMF as a 32bit binary, the loop is faster, but still takes
about 30s on AMD. (that's true for both OvmfIa32 and OvmfIa32X64 which
is 32bit bootstrap, but can start 64bit OS.)
Another thing, I tried the same binary (64bit) with KVM, and OVMF seems
fast.


So, any idee of what I could investigate?

Thanks,

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

end of thread, other threads:[~2016-07-29 15:54 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-14 15:53 OVMF very slow on AMD Anthony PERARD
2016-07-15 13:48 ` Konrad Rzeszutek Wilk
2016-07-15 15:22   ` Boris Ostrovsky
2016-07-27 11:08     ` Anthony PERARD
2016-07-27 11:35       ` Anthony PERARD
2016-07-27 19:45         ` Boris Ostrovsky
2016-07-28 10:18           ` Anthony PERARD
2016-07-28 10:43             ` George Dunlap
2016-07-28 10:54               ` Andrew Cooper
2016-07-28 11:28                 ` Anthony PERARD
2016-07-28 15:17                 ` Boris Ostrovsky
2016-07-28 15:51                   ` Andrew Cooper
2016-07-28 19:25                     ` Boris Ostrovsky
2016-07-28 19:44                       ` Andrew Cooper
2016-07-28 19:54                         ` Boris Ostrovsky
2016-07-29 15:54                           ` Anthony PERARD
2016-07-18 14:10   ` Anthony PERARD
2016-07-18 15:09   ` Anthony PERARD
2016-07-22 10:40     ` Dario Faggioli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).