Messages in this thread | | | From | David Matlack <> | Date | Tue, 19 Aug 2014 18:03:43 -0700 | Subject | Re: [PATCH 1/2] KVM: fix cache stale memslot info with correct mmio generation number |
| |
On Tue, Aug 19, 2014 at 5:29 PM, Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> wrote: > On 08/19/2014 05:03 PM, Paolo Bonzini wrote: >> Il 19/08/2014 10:50, Xiao Guangrong ha scritto: >>> Okay, what confused me it that it seems that the single line patch >>> is ok to you. :) >> >> No, it was late and I was confused. :) >> >>> Now, do we really need to care the case 2? like David said: >>> "Sorry I didn't explain myself very well: Since we can get a single wrong >>> mmio exit no matter what, it has to be handled in userspace. So my point >>> was, it doesn't really help to fix that one very specific way that it can >>> happen, because it can just happen in other ways. (E.g. update memslots >>> occurs after is_noslot_pfn() and before mmio exit)." >>> >>> What's your idea? >>> >>>> I think if you always treat the low bit as zero in mmio sptes, you can >>>> do that without losing a bit of the generation. >>> >>> What's you did is avoiding cache a invalid generation number into spte, but >>> actually if we can figure it out when we check mmio access, it's ok. Like the >>> updated patch i posted should fix it, that way avoids doubly increase the number. >> >> Yes. >> >>> Okay, if you're interested increasing the number doubly, there is the simpler >>> one: >> >> This wastes a bit in the mmio spte though. My idea is to increase the >> memslots generation twice, but drop the low bit in the mmio spte. > > Yeah, really smart idea. :) > > Paolo/David, would you mind making a patch for this (+ the comments in David's > patch)?
Paolo, since it was your idea would you like to write it? I don't mind either way.
> > Please feel free to add my: > Reviewed-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
| |