On 28/03/18 17:22, Paul Durrant wrote: >> -----Original Message----- >> From: Jan Beulich [mailto:jbeul...@suse.com] >> Sent: 28 March 2018 16:59 >> To: Paul Durrant <paul.durr...@citrix.com> >> Cc: Andrew Cooper <andrew.coop...@citrix.com>; xen-devel <xen- >> de...@lists.xenproject.org> >> Subject: RE: possible I/O emulation state machine issue >> >>>>> On 28.03.18 at 15:48, <paul.durr...@citrix.com> wrote: >>>> -----Original Message----- >>>> From: Jan Beulich [mailto:jbeul...@suse.com] >>>> Sent: 26 March 2018 09:43 >>>> To: Paul Durrant <paul.durr...@citrix.com> >>>> Cc: Andrew Cooper <andrew.coop...@citrix.com>; xen-devel <xen- >>>> de...@lists.xenproject.org> >>>> Subject: Re: possible I/O emulation state machine issue >>>> >>>>>>> On 23.03.18 at 14:41, <paul.durr...@citrix.com> wrote: >>>>> So somehow it appears the vcpu got back into guest and executed the >> next >>>>> instruction whilst there was pending I/O. >>>> Two new pieces of information, in case either rings a bell: >>>> >>> Alas neither rings a bell. >>> >>>> The issue appears to never occur in hap=0 mode. >>>> >>> That's quite an odd correlation. >> Simply timing, perhaps. In any event, newest logs suggest we have >> an issue with Windows paging out the page the data for the >> REP OUTSW is coming from while the port I/O part of the operation >> is pending qemu's completion. Upon retry the linear->physical >> translation fails, and we leave incorrect state in place. >> >> I thought we cache the translation result, thus avoiding the need >> for a translation during the retry cycle, so either I'm misremembering >> or this doesn't work as intended. And in fact doing the translation a >> second time (with the potential of it failing) is wrong here - when the >> port access has occurred, we must not fail the emulation anymore >> (repeating the port write would probably be fine for the VGA, but >> would hardly be fine for e.g. an IDE interface). >> > Yes, I thought we made sure all reps were completed using cached translations > before returning to guest.
Its one of the many items on the TODO list, along with maintaining a proper virtual TLB to avoid rewalks during a single emulation. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel