[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] OVMF very slow on AMD
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@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |