Re: [PATCH v2 02/12] KVM: x86: tag the instructions which are used to write page table

Xiao Guangrong
2011-08-03T06:00:52Z

On 08/02/2011 08:20 PM, Avi Kivity wrote:
> On 08/02/2011 02:07 PM, Xiao Guangrong wrote:
>> The idea is from Avi:
>> | tag instructions that are typically used to modify the page tables, and drop
>> | shadow if any other instruction is used
>> | The list would include, I'd guess, and, or, bts, btc, mov, xchg, cmpxchg, and
>> | cmpxchg8b
>>
>> This patch is used to tag the instructions and in the later path, shadow page
>> is dropped if it is written by other instructions
>
> We already have a mechanism for this, the decode tables. Why not add a new flag, PageTable, and set it on all relevant instructions?
>

OK, will do it in the next version.

> Note we don't need to actually emulate, just decode, since page_fault can tell us whether a write failed due to page tables or mmio.
>

This is a interesting feature. If it happens, i will just drop the shadow pages
and retry these instructions directly.