[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] OVMF very slow on AMD



On Fri, Jul 15, 2016 at 09:48:31AM -0400, Konrad Rzeszutek Wilk wrote:
> On Thu, Jul 14, 2016 at 04:53:07PM +0100, Anthony PERARD wrote:
> > 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.
> 
> Pls. The full file if possible. Perhaps there is also an .S file somewhere 
> there?

I've attach the output of:
objdump -d 
Build/OvmfX64/DEBUG_GCC49/X64/IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib/OUTPUT/Sdk/C/LzmaDec.obj

This is the C file:
https://github.com/tianocore/edk2/blob/2bfd84ed45b2b66bdabac059df9db3404912dd28/IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/Sdk/C/LzmaDec.c

As far as I can tell, LzmaDec_DecodeReal() does not call anything else.
And there is no .S file.

-- 
Anthony PERARD

Attachment: lzmadec.obj.disas
Description: Text document

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.