From: pbonzini@redhat.com (Paolo Bonzini)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v13 3/7] KVM: x86: flush TLBs last before returning from KVM_GET_DIRTY_LOG
Date: Fri, 07 Nov 2014 08:44:05 +0100 [thread overview]
Message-ID: <545C7845.9010103@redhat.com> (raw)
In-Reply-To: <1415320848-13813-4-git-send-email-m.smarduch@samsung.com>
On 07/11/2014 01:40, Mario Smarduch wrote:
> In the next patches, we will move parts of x86's kvm_vm_ioctl_get_dirty_log
> implementation to generic code; leave the arch-specific code at the end,
> similar to the existing generic function kvm_get_dirty_log.
>
> Reviewed-by: Mario Smarduch <m.smarduch@samsung.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
You should have a "Signed-off-by: Mario Smarduch ..." here, and you
should also add my authorship. You can do the latter with "git rebase
-i", adding
x git commit --amend -C HEAD --author 'Paolo Bonzini <pbonzini@redhat.com>'
after this patch. If you're using a patch queue instead (quilt or
similar) you can just edit the "From" line in the patch.
I guess if you reply to the patch with just
Signed-off-by: Mario Smarduch <m.smarduch@samsung.com>
the ARM maintainers can do the above for you, if there's no need for
a v14.
I'll send an eighth patch to actually switch x86 to the new function.
Again, the maintainers can apply it in the right place, but please
include it yourself if you have to do a v14.
Thanks,
Paolo
> ---
> arch/x86/kvm/x86.c | 22 ++++++++++------------
> 1 file changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 8f1e22d..dc8e66b 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -3606,13 +3606,13 @@ static int kvm_vm_ioctl_reinject(struct kvm *kvm,
> *
> * 1. Take a snapshot of the bit and clear it if needed.
> * 2. Write protect the corresponding page.
> - * 3. Flush TLB's if needed.
> - * 4. Copy the snapshot to the userspace.
> + * 3. Copy the snapshot to the userspace.
> + * 4. Flush TLB's if needed.
> *
> - * Between 2 and 3, the guest may write to the page using the remaining TLB
> - * entry. This is not a problem because the page will be reported dirty at
> - * step 4 using the snapshot taken before and step 3 ensures that successive
> - * writes will be logged for the next call.
> + * Between 2 and 4, the guest may write to the page using the remaining TLB
> + * entry. This is not a problem because the page is reported dirty using
> + * the snapshot taken before and step 4 ensures that writes done after
> + * exiting to userspace will be logged for the next call.
> */
> int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log)
> {
> @@ -3661,6 +3661,10 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log)
>
> spin_unlock(&kvm->mmu_lock);
>
> + r = 0;
> + if (copy_to_user(log->dirty_bitmap, dirty_bitmap_buffer, n))
> + r = -EFAULT;
> +
> /* See the comments in kvm_mmu_slot_remove_write_access(). */
> lockdep_assert_held(&kvm->slots_lock);
>
> @@ -3670,12 +3674,6 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log)
> */
> if (is_dirty)
> kvm_flush_remote_tlbs(kvm);
> -
> - r = -EFAULT;
> - if (copy_to_user(log->dirty_bitmap, dirty_bitmap_buffer, n))
> - goto out;
> -
> - r = 0;
> out:
> mutex_unlock(&kvm->slots_lock);
> return r;
>
next prev parent reply other threads:[~2014-11-07 7:44 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-07 0:40 [PATCH v13 0/7] KVM/arm/x86: dirty page logging support for ARMv7 (3.17.0-rc1) Mario Smarduch
2014-11-07 0:40 ` [PATCH v13 1/7] KVM: Add architecture-defined TLB flush support Mario Smarduch
2014-11-07 9:39 ` Marc Zyngier
2014-11-07 0:40 ` [PATCH v13 2/7] KVM: Add generic support for dirty page logging Mario Smarduch
2014-11-07 9:07 ` Cornelia Huck
2014-11-07 9:26 ` Paolo Bonzini
2014-11-07 18:55 ` Mario Smarduch
2014-11-07 0:40 ` [PATCH v13 3/7] KVM: x86: flush TLBs last before returning from KVM_GET_DIRTY_LOG Mario Smarduch
2014-11-07 7:44 ` Paolo Bonzini [this message]
2014-11-07 19:50 ` Mario Smarduch
2014-11-07 20:02 ` Christoffer Dall
2014-11-07 20:44 ` Mario Smarduch
2014-11-07 21:07 ` Christoffer Dall
2014-11-07 0:40 ` [PATCH v13 4/7] arm: KVM: Add ARMv7 API to flush TLBs Mario Smarduch
2014-11-07 9:44 ` Marc Zyngier
2014-11-07 18:58 ` Mario Smarduch
2014-11-07 20:18 ` Christoffer Dall
2014-11-07 20:46 ` Mario Smarduch
2014-11-07 0:40 ` [PATCH v13 5/7] arm: KVM: Add initial dirty page locking infrastructure Mario Smarduch
2014-11-07 10:15 ` Marc Zyngier
2014-11-07 19:07 ` Mario Smarduch
2014-11-07 0:40 ` [PATCH v13 6/7] arm: KVM: dirty log read write protect support Mario Smarduch
2014-11-07 7:38 ` Paolo Bonzini
2014-11-07 19:47 ` Mario Smarduch
2014-11-08 7:28 ` Paolo Bonzini
2014-11-07 10:19 ` Marc Zyngier
2014-11-07 0:40 ` [PATCH v13 7/7] arm: KVM: ARMv7 dirty page logging 2nd stage page fault Mario Smarduch
2014-11-07 10:33 ` Marc Zyngier
2014-11-07 19:21 ` Mario Smarduch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=545C7845.9010103@redhat.com \
--to=pbonzini@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).