[PATCH v5 08/12] KVM: Reinstate gfn_to_pfn_cache with invalidation support

David Woodhouse dwmw2 at infradead.org
Fri Dec 10 04:25:03 PST 2021


On Thu, 2021-12-09 at 23:34 +0100, Paolo Bonzini wrote:
> 
> Compared to the review it's missing this hunk:
> 
> @@ -265,7 +265,7 @@ void kvm_gfn_to_pfn_cache_unmap(struct kvm *kvm, struct gfn_to_pfn_cache *gpc)   
> 
>         gpc->valid = false;
> 
> -       old_khva = gpc->khva;
> +       old_khva = (void *)((unsigned long)gpc->khva & ~PAGE_MASK);
>         old_dirty = gpc->dirty;

Do you know what? I couldn't bring myself to add that a second time. I
managed it once, but it made me sad.

Did it like this instead:

-       old_khva = gpc->khva;
+       old_khva = gpc->khva - offset_in_page(gpc->khva);

I checked that for me at least, GCC is clever enough to just do the
mask.

        old_khva = gpc->khva - offset_in_page(gpc->khva);
 131:   48 8b 43 78             mov    0x78(%rbx),%rax
 135:   48 25 00 f0 ff ff       and    $0xfffffffffffff000,%rax


I still don't see the previous patches in kvm/next — is that an
automatic push after testing has passed, or is the kernel.org
infrastructure just *really* slow?

I've pushed based on the currently-visible kvm/next to
https://git.infradead.org/users/dwmw2/linux.git/shortlog/refs/heads/xen-evtchn
and can resend when the tree finally surfaces.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5174 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/kvm-riscv/attachments/20211210/f3a91d89/attachment.p7s>


More information about the kvm-riscv mailing list