* [PATCH v12 1/6] KVM: Add architecture-defined TLB flush support
@ 2014-10-22 22:34 Mario Smarduch
2014-10-30 12:06 ` Cornelia Huck
2014-11-05 16:10 ` Paolo Bonzini
0 siblings, 2 replies; 3+ messages in thread
From: Mario Smarduch @ 2014-10-22 22:34 UTC (permalink / raw)
To: kvm-ia64
This patch adds support for architecture implemented VM TLB flush, currently
ARMv7 defines HAVE_KVM_ARCH_TLB_FLUSH_ALL. This leaves other architectures
unaffected using the generic version. In subsequent patch ARMv7 defines
HAVE_KVM_ARCH_TLB_FLUSH_ALL and it's own TLB flush interface.
Signed-off-by: Mario Smarduch <m.smarduch@samsung.com>
---
virt/kvm/Kconfig | 3 +++
virt/kvm/kvm_main.c | 2 ++
2 files changed, 5 insertions(+)
diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
index fc0c5e6..3796a21 100644
--- a/virt/kvm/Kconfig
+++ b/virt/kvm/Kconfig
@@ -37,3 +37,6 @@ config HAVE_KVM_CPU_RELAX_INTERCEPT
config KVM_VFIO
bool
+
+config HAVE_KVM_ARCH_TLB_FLUSH_ALL
+ bool
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 33712fb..887df87 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -184,6 +184,7 @@ static bool make_all_cpus_request(struct kvm *kvm, unsigned int req)
return called;
}
+#ifndef CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL
void kvm_flush_remote_tlbs(struct kvm *kvm)
{
long dirty_count = kvm->tlbs_dirty;
@@ -194,6 +195,7 @@ void kvm_flush_remote_tlbs(struct kvm *kvm)
cmpxchg(&kvm->tlbs_dirty, dirty_count, 0);
}
EXPORT_SYMBOL_GPL(kvm_flush_remote_tlbs);
+#endif
void kvm_reload_remote_mmus(struct kvm *kvm)
{
--
1.7.9.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v12 1/6] KVM: Add architecture-defined TLB flush support
2014-10-22 22:34 [PATCH v12 1/6] KVM: Add architecture-defined TLB flush support Mario Smarduch
@ 2014-10-30 12:06 ` Cornelia Huck
2014-11-05 16:10 ` Paolo Bonzini
1 sibling, 0 replies; 3+ messages in thread
From: Cornelia Huck @ 2014-10-30 12:06 UTC (permalink / raw)
To: kvm-ia64
On Wed, 22 Oct 2014 15:34:06 -0700
Mario Smarduch <m.smarduch@samsung.com> wrote:
> This patch adds support for architecture implemented VM TLB flush, currently
> ARMv7 defines HAVE_KVM_ARCH_TLB_FLUSH_ALL. This leaves other architectures
> unaffected using the generic version. In subsequent patch ARMv7 defines
> HAVE_KVM_ARCH_TLB_FLUSH_ALL and it's own TLB flush interface.
Can you reword this a bit?
"Allow architectures to override the generic kvm_flush_remote_tlbs()
function via HAVE_KVM_ARCH_TLB_FLUSH_ALL. ARMv7 will need this to
provide its own TLB flush interface."
>
> Signed-off-by: Mario Smarduch <m.smarduch@samsung.com>
> ---
> virt/kvm/Kconfig | 3 +++
> virt/kvm/kvm_main.c | 2 ++
> 2 files changed, 5 insertions(+)
Providing an override for the special cases looks sane to me.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v12 1/6] KVM: Add architecture-defined TLB flush support
2014-10-22 22:34 [PATCH v12 1/6] KVM: Add architecture-defined TLB flush support Mario Smarduch
2014-10-30 12:06 ` Cornelia Huck
@ 2014-11-05 16:10 ` Paolo Bonzini
1 sibling, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2014-11-05 16:10 UTC (permalink / raw)
To: kvm-ia64
On 23/10/2014 00:34, Mario Smarduch wrote:
> This patch adds support for architecture implemented VM TLB flush, currently
> ARMv7 defines HAVE_KVM_ARCH_TLB_FLUSH_ALL. This leaves other architectures
> unaffected using the generic version. In subsequent patch ARMv7 defines
> HAVE_KVM_ARCH_TLB_FLUSH_ALL and it's own TLB flush interface.
>
> Signed-off-by: Mario Smarduch <m.smarduch@samsung.com>
> ---
> virt/kvm/Kconfig | 3 +++
> virt/kvm/kvm_main.c | 2 ++
> 2 files changed, 5 insertions(+)
>
> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
> index fc0c5e6..3796a21 100644
> --- a/virt/kvm/Kconfig
> +++ b/virt/kvm/Kconfig
> @@ -37,3 +37,6 @@ config HAVE_KVM_CPU_RELAX_INTERCEPT
>
> config KVM_VFIO
> bool
> +
> +config HAVE_KVM_ARCH_TLB_FLUSH_ALL
> + bool
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 33712fb..887df87 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -184,6 +184,7 @@ static bool make_all_cpus_request(struct kvm *kvm, unsigned int req)
> return called;
> }
>
> +#ifndef CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL
> void kvm_flush_remote_tlbs(struct kvm *kvm)
> {
> long dirty_count = kvm->tlbs_dirty;
> @@ -194,6 +195,7 @@ void kvm_flush_remote_tlbs(struct kvm *kvm)
> cmpxchg(&kvm->tlbs_dirty, dirty_count, 0);
> }
> EXPORT_SYMBOL_GPL(kvm_flush_remote_tlbs);
> +#endif
>
> void kvm_reload_remote_mmus(struct kvm *kvm)
> {
>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-11-05 16:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-22 22:34 [PATCH v12 1/6] KVM: Add architecture-defined TLB flush support Mario Smarduch
2014-10-30 12:06 ` Cornelia Huck
2014-11-05 16:10 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox