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

I don't think a virtual TLB will be the right answer. We need to
record the results of the "uops" we break the request up into,
and simply return previously recorded values for replayed ones.
I.e. just like we don't (anymore) re-fetch the insn during replay.
That's closer to how I assume hardware believes - in particular
I don't think it would repeat TLB walks for a single uop.

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®.