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

Re: [Xen-devel] possible I/O emulation state machine issue



>>> On 28.03.18 at 18:22, <Paul.Durrant@xxxxxxxxxx> wrote:
>> From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
>> Sent: 28 March 2018 16:59
>> 
>> 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.

We do this only for actual MMIO accesses, not for RAM ones,
afaics.

I think I see a way to deal with the specific case here, but we'll
certainly need to make things work properly in the general case.
That's not something reasonable to be done for 4.11 though.

Suppressing the stdvga port intercepts has, btw, not helped the
situation.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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