|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] SSE instruction emulation issues
Il 16/07/2015 16:54, Wang, Zhi A ha scritto: Hi Fantoni: If the emulation is successfully done without problem, maybe the instruction emulator in xen inject an incorrect fault into HVM, so that Xorg got killed. Can you also show the binary opcode with asm code? It looks only asm code in the gdb log. Thanks for reply, I tried to add some gdprintk on probable fail about movaps, more exactly before these lines: 4005 fail_if(vex.pfx & VEX_PREFIX_SCALAR_MASK); 4037 fail_if((vex.opcx != vex_0f) || 4050 generate_exception_if((b >= 0x28) && But xl dmesg showed nothing.Gdb data more complete that this (full backtrace, registers, latest instructions and threads backtrace) I not found, see attachment. This is the command used: gdb -batch-silent -ex "run" -ex "set logging overwrite on" -ex "set logging file /root/X-gdb.log" -ex "set logging on" -ex "set pagination off" -ex "handle SIG33 pass nostop noprint" -ex "echo Full backtrace:\n" -ex "backtrace full" -ex "echo \n\nRegisters:\n" -ex "info registers" -ex "echo \n\nCurrent instructions:\n" -ex "x/16i \$pc" -ex "echo \n\nThreads backtrace:\n" -ex "thread apply all backtrace" -ex "set logging off" -ex "quit" --args "/usr/bin/X.bak" "$@" Do you mean that I need something more complete to replace this about instructions? x/16i $pc Another thing, on fedora 21 (where xorg crash is sid instead) where qemu is a 100% cpu (Xorg of domU) I saw that after long time arrive to view correct login page also with qxl, probably was about 20 minutes instead of 3-4 seconds max, pratically seems working (probably after latest one or more of many x86/hvm patches) but with performance 1/1000 or lesser that normal. Probably is something similar to windows some years ago where before an old Jan Beulich patch performance (based on screen output) was 1/10 or lesser. Sorry if I had too low knowledge to find exact problem or at least all useful data :( -----Original Message----- From: Fabio Fantoni [mailto:fabio.fantoni@xxxxxxx] Sent: Thursday, July 16, 2015 8:15 PM To: Wang, Zhi A; Jan Beulich Cc: Andrew Cooper; Paul Durrant; xen-devel Subject: Re: SSE instruction emulation issues Il 15/07/2015 16:35, Wang, Zhi A ha scritto:You can put the MMIO emulation failed output message in the email like what I did, that will help to cook a patch for instruction emulator. Only gdb log is not enough as xen-developer has to know the exact opcode. I also found that not all forms of one SSE instruction was supported, for example an instruction may support move data from xmm register to mem, or move from xmm register to xmm registers, maybe only one form is supported in the instruction emulator.Thanks for your reply, unfortunately don't give directly "MMIO emulation failed" but on "better" cases only software crash inside domUs, on other only qemu at 100% cpu and in domUs black screen ecc... There are also many other cases of "strange" low performance probably related to MMIO operations. I started to find it some years ago on hvm desktop domUs, derisory/hardly visible on older windows like xp or linux DE with fewer effects and lower screen resolution of client used and increasing using newer system, DE and bigger resolutions. Using only thing like rdp inside domU's S.O. the problem is minimized, using client for connecting directly to domUs like spice is increased. Seems increased also using rdp but using softwares that use "more graphic operations" (even if not 3D). Trying similar thing on kvm instead using same qemu upstream version similar domU configuration ecc.. is better. About more specific problem with qxl vga on xen was unable to works at all until 2 memory fixes in libxl/qemu did by anthony perard 3-4 years ago is I remember good, after on windows domUs was working but with very bad performance, after Jan beulich a fix about x86/hvm 2-3 years performances became decent and other x86/hvm changes in latest 1-2 years they made the performance closer to kvm for most of the vm windows. About linux domUs qxl seems correctly working on suse as dom0 and domUs as reported by a suse developer but I not found the specific suse workaround, may be also other cases where is working out-of-box. Xen is already better for many features and find/solves this problem probably make it very good also in all recent desktop necessity (except particular 3d acceleration that require phisical vga or similar). About cases where I taken backtrace of domU's X crash I suppose I must find possible fails case without output in xl dmesg and add output to find what is the exact case, right? I should add gdprintk(XENLOG_INFO,"...\n"); in any fail_if() and generate_exception_if() that can be related to movaps for example based on backtrace, or is this wrong or stupid? Thanks for any reply and sorry for my bad english.Thanks, Zhi. -----Original Message----- From: Fabio Fantoni [mailto:fabio.fantoni@xxxxxxx] Sent: Wednesday, July 15, 2015 9:56 PM To: Jan Beulich Cc: Andrew Cooper; Paul Durrant; Wang, Zhi A; xen-devel Subject: Re: SSE instruction emulation issues Il 15/07/2015 13:35, Jan Beulich ha scritto:On 15.07.15 at 13:13, <fabio.fantoni@xxxxxxx> wrote:Il 10/07/2015 14:16, Jan Beulich ha scritto:On 10.07.15 at 14:00, <andrew.cooper3@xxxxxxxxxx> wrote:On 09/07/15 20:32, Zhi Wang wrote: Attachment:
X-gdb.log _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |