QEMU assumes 32 memslots if this extension is not implemented. Although,
current value of KVM_USER_MEM_SLOTS is 32, once KVM_USER_MEM_SLOTS
changes QEMU would take a wrong value.
Signed-off-by: Nikunj A Dadhania <nik...@linux.vnet.ibm.com>
---
arch/powerpc/kvm/powerpc.c | 3 +++
1 file c
QEMU assumes 32 memslots if this extension is not implemented. Although,
current value of KVM_USER_MEM_SLOTS is 32, once KVM_USER_MEM_SLOTS
changes QEMU would take a wrong value.
Signed-off-by: Nikunj A Dadhania <nik...@linux.vnet.ibm.com>
---
arch/powerpc/kvm/powerpc.c | 3 +++
1 file c
On Wed, 10 Oct 2012 09:24:55 -0500, Andrew Theurer
haban...@linux.vnet.ibm.com wrote:
Below is again 8 x 20-way VMs, but this time I tried out Nikunj's gang
scheduling patches. While I am not recommending gang scheduling, I
think it's a good data point. The performance is 3.88x the PLE
On Tue, 04 Sep 2012 10:51:06 +0300, Avi Kivity a...@redhat.com wrote:
On 09/04/2012 04:30 AM, Nikunj A Dadhania wrote:
On Mon, 03 Sep 2012 17:33:46 +0300, Avi Kivity a...@redhat.com wrote:
On 08/21/2012 02:25 PM, Nikunj A. Dadhania wrote:
kernbench(lower is better
On Mon, 03 Sep 2012 17:33:46 +0300, Avi Kivity a...@redhat.com wrote:
On 08/21/2012 02:25 PM, Nikunj A. Dadhania wrote:
kernbench(lower is better)
==
base pvflushv4 %improvement
1VM48.5800 46.8513 3.55846
2VM 108.1823
On Fri, 24 Aug 2012 12:02:27 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Fri, Aug 24, 2012 at 11:09:39AM +0530, Nikunj A Dadhania wrote:
On Thu, 23 Aug 2012 06:36:43 -0300, Marcelo Tosatti mtosa...@redhat.com
wrote:
On Tue, Aug 21, 2012 at 04:56:35PM +0530, Nikunj A. Dadhania
On Thu, 23 Aug 2012 08:46:22 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Tue, Aug 21, 2012 at 04:56:43PM +0530, Nikunj A. Dadhania wrote:
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
Hypervisor code to indicate guest running/pre-empteded status through
msr. The page is now
On Thu, 23 Aug 2012 06:36:43 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Tue, Aug 21, 2012 at 04:56:35PM +0530, Nikunj A. Dadhania wrote:
+void kvm_disable_vcpu_state(void)
+{
+ if (!has_vcpu_state)
+ return;
+
+ wrmsr(MSR_KVM_VCPU_STATE, 0, 0);
wrmsrl
/gmane.linux.kernel/1329752
---
Nikunj A. Dadhania (6):
KVM Guest: Add VCPU running/pre-empted state for guest
KVM-HV: Add VCPU running/pre-empted state for guest
KVM Guest: Add paravirt kvm_flush_tlb_others
KVM-HV: Add flush_on_enter before guest enter
Enable HAVE_RCU_TABLE_FREE
- is part of PeterZ's Unify TLB gather implementations
http://mid.gmane.org/20120627211540.459910...@chello.nl
Cc: Nikunj A Dadhania nik...@linux.vnet.ibm.com
Cc: Jeremy Fitzhardinge jer...@goop.org
Cc: Avi Kivity a...@redhat.com
Signed-off-by: Peter Zijlstra a.p.zijls...@chello.nl
Link: http
is not NULL]
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/Kconfig |3 +++
arch/powerpc/Kconfig |1 +
arch/sparc/Kconfig |1 +
mm/memory.c | 43 +--
4 files changed, 42 insertions(+), 6 deletions(-)
diff
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
The patch adds guest code for msr between guest and hypervisor. The
msr will export the vcpu running/pre-empted information to the guest
from host. This will enable guest to intelligently send ipi to running
vcpus and set flag for pre-empted
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
Hypervisor code to indicate guest running/pre-empteded status through
msr. The page is now pinned during MSR write time and use
kmap_atomic/kunmap_atomic to access the shared area vcpu_state area.
Suggested-by: Marcelo Tosatti mtosa
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
flush_tlb_others_ipi depends on lot of statics in tlb.c. Replicated
the flush_tlb_others_ipi as kvm_flush_tlb_others to further adapt to
paravirtualization.
Use the vcpu state information inside the kvm_flush_tlb_others to
avoid sending ipi
PV-Flush guest would indicate to flush on enter, flush the TLB before
entering and exiting the guest.
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/x86/kvm/x86.c | 28
1 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/arch/x86
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/x86/Kconfig | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index c70684f..354160d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -612,6 +612,17
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
Documentation/virtual/kvm/msr.txt|4 ++
Documentation/virtual/kvm/paravirt-tlb-flush.txt | 53 ++
2 files changed, 57 insertions(+), 0 deletions(-)
create mode 100644 Documentation/virtual
On Fri, 3 Aug 2012 14:31:22 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Fri, Aug 03, 2012 at 11:25:44AM +0530, Nikunj A Dadhania wrote:
On Thu, 2 Aug 2012 16:56:28 -0300, Marcelo Tosatti mtosa...@redhat.com
wrote:
+ case MSR_KVM_VCPU_STATE:
+ vcpu
On Thu, 2 Aug 2012 16:56:28 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Tue, Jul 31, 2012 at 04:18:41PM +0530, Nikunj A. Dadhania wrote:
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
Hypervisor code to indicate guest running/pre-empteded status through
msr. The page is now
On Thu, 2 Aug 2012 17:16:41 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Thu, Aug 02, 2012 at 05:14:02PM -0300, Marcelo Tosatti wrote:
On Tue, Jul 31, 2012 at 04:19:02PM +0530, Nikunj A. Dadhania wrote:
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
static void
On Thu, 2 Aug 2012 16:56:28 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
+ case MSR_KVM_VCPU_STATE:
+ vcpu-arch.v_state.vs_page = gfn_to_page(vcpu-kvm, data
PAGE_SHIFT);
+ vcpu-arch.v_state.vs_offset = data ~(PAGE_MASK |
KVM_MSR_ENABLED);
Assign
Hi Stefano,
On Wed, 1 Aug 2012 12:23:37 +0100, Stefano Stabellini
stefano.stabell...@eu.citrix.com wrote:
On Tue, 5 Jun 2012, Stefano Stabellini wrote:
On Tue, 5 Jun 2012, Peter Zijlstra wrote:
On Tue, 2012-06-05 at 18:34 +0530, Nikunj A Dadhania wrote:
PeterZ, is 7/7 alright
-tlb issue that we were trying to address using the
paravirt-tlb-flush approach.
[1] http://article.gmane.org/gmane.linux.kernel/1329752
---
Nikunj A. Dadhania (6):
KVM Guest: Add VCPU running/pre-empted state for guest
KVM-HV: Add VCPU running/pre-empted state for guest
KVM Guest
- is part of PeterZ's Unify TLB gather implementations
http://mid.gmane.org/20120627211540.459910...@chello.nl
Cc: Nikunj A Dadhania nik...@linux.vnet.ibm.com
Cc: Jeremy Fitzhardinge jer...@goop.org
Cc: Avi Kivity a...@redhat.com
Signed-off-by: Peter Zijlstra a.p.zijls...@chello.nl
Link: http
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
The patch adds guest code for msr between guest and hypervisor. The
msr will export the vcpu running/pre-empted information to the guest
from host. This will enable guest to intelligently send ipi to running
vcpus and set flag for pre-empted
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
flush_tlb_others_ipi depends on lot of statics in tlb.c. Replicated
the flush_tlb_others_ipi as kvm_flush_tlb_others to further adapt to
paravirtualization.
Use the vcpu state information inside the kvm_flush_tlb_others to
avoid sending ipi
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
PV-Flush guest would indicate to flush on enter, flush the TLB before
entering and exiting the guest.
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/x86/kvm/x86.c | 23 +++
1 files changed, 7
of them need it.
Signed-off-by: Peter Zijlstra a.p.zijls...@chello.nl
Link: http://lkml.kernel.org/n/tip-z32nke0csqopykthsk1zj...@git.kernel.org
[Fix to check *batch is not NULL]
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/Kconfig |3 +++
arch/powerpc/Kconfig
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/x86/Kconfig | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index c70684f..354160d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -612,6 +612,17
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
Documentation/virtual/kvm/msr.txt|4 ++
Documentation/virtual/kvm/paravirt-tlb-flush.txt | 53 ++
2 files changed, 57 insertions(+), 0 deletions(-)
create mode 100644 Documentation/virtual
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
Hypervisor code to indicate guest running/pre-empteded status through
msr. The page is now pinned during MSR write time and use
kmap_atomic/kunmap_atomic to access the shared area vcpu_state area.
Suggested-by: Marcelo Tosatti mtosa
On Wed, 11 Jul 2012 14:04:03 +0300, Avi Kivity a...@redhat.com wrote:
So this would probably improve guests that uses cpu_relax, for example
stop_machine_run. I have no measurements, though.
smp_call_function() too (though that can be converted to directed yield
too). It seems
On Wed, 11 Jul 2012 16:22:29 +0530, Raghavendra K T
raghavendra...@linux.vnet.ibm.com wrote:
On 07/11/2012 02:23 PM, Avi Kivity wrote:
This adds some tiny overhead to vcpu entry. You could remove it by
using the vcpu-requests mechanism to clear the flag, since
vcpu-requests is already
On Tue, 3 Jul 2012 04:55:35 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Mon, Jun 04, 2012 at 10:37:24AM +0530, Nikunj A. Dadhania wrote:
flush_tlb_others_ipi depends on lot of statics in tlb.c. Replicated
the flush_tlb_others_ipi as kvm_flush_tlb_others to further adapt
On Wed, 4 Jul 2012 23:37:46 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Tue, Jul 03, 2012 at 01:55:02PM +0530, Nikunj A Dadhania wrote:
On Tue, 3 Jul 2012 05:07:13 -0300, Marcelo Tosatti mtosa...@redhat.com
wrote:
On Mon, Jun 04, 2012 at 10:38:17AM +0530, Nikunj A. Dadhania wrote
On Wed, 4 Jul 2012 23:09:10 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Tue, Jul 03, 2012 at 01:49:49PM +0530, Nikunj A Dadhania wrote:
On Tue, 3 Jul 2012 04:55:35 -0300, Marcelo Tosatti mtosa...@redhat.com
wrote:
if (!zero_mask)
goto again;
Can you
On Tue, 3 Jul 2012 04:55:35 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
if (!zero_mask)
goto again;
Can you please measure increased vmentry/vmexit overhead? x86/vmexit.c
of git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git should
help.
Sure will get back with
On Tue, 3 Jul 2012 05:07:13 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Mon, Jun 04, 2012 at 10:38:17AM +0530, Nikunj A. Dadhania wrote:
In place of looping continuously introduce a halt if we do not succeed
after some time.
For vcpus that were running an IPI is sent. In case
On Tue, 3 Jul 2012 05:11:35 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Mon, Jun 04, 2012 at 10:37:24AM +0530, Nikunj A. Dadhania wrote:
arch/x86/include/asm/kvm_para.h |3 +-
arch/x86/include/asm/tlbflush.h |9 ++
arch/x86/kernel/kvm.c |1 +
arch/x86
On Tue, 12 Jun 2012 19:43:10 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Mon, Jun 04, 2012 at 10:36:05AM +0530, Nikunj A. Dadhania wrote:
The patch adds guest code for msr between guest and hypervisor. The
msr will export the vcpu running/pre-empted information to the guest
from
Hi Marcelo,
Thanks for the review.
On Tue, 12 Jun 2012 20:02:18 -0300, Marcelo Tosatti mtosa...@redhat.com wrote:
On Mon, Jun 04, 2012 at 10:37:24AM +0530, Nikunj A. Dadhania wrote:
flush_tlb_others_ipi depends on lot of statics in tlb.c. Replicated
the flush_tlb_others_ipi
On Tue, 5 Jun 2012 11:48:02 +0100, Stefano Stabellini
stefano.stabell...@eu.citrix.com wrote:
I am also interested in introducing HAVE_RCU_TABLE_FREE on x86 for Xen.
Maybe we can pull our efforts together :-)
Giving a look at this patch, it doesn't look like it is introducing
On Tue, 5 Jun 2012 12:58:32 +0100, Stefano Stabellini
stefano.stabell...@eu.citrix.com wrote:
On Tue, 5 Jun 2012, Nikunj A Dadhania wrote:
On Tue, 5 Jun 2012 11:48:02 +0100, Stefano Stabellini
stefano.stabell...@eu.citrix.com wrote:
I am also interested in introducing
and
sysbench. Kernbench degraded further, PLE does help kernbench. This
will be addressed by Raghu's directed yield approach.
Comments/suggestions welcome.
Regards
Nikunj
---
Nikunj A. Dadhania (6):
KVM Guest: Add VCPU running/pre-empted state for guest
KVM-HV: Add VCPU running/pre
Hypervisor code to indicate guest running/pre-empteded status through
msr.
Suggested-by: Peter Zijlstra a.p.zijls...@chello.nl
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/x86/include/asm/kvm_host.h |7 ++
arch/x86/kvm/cpuid.c|1 +
arch/x86/kvm/x86
vcpus and set flush_on_enter flag
* For online vcpus: Wait for them to clear the flag
The approach was discussed here: https://lkml.org/lkml/2012/2/20/157
Suggested-by: Peter Zijlstra a.p.zijls...@chello.nl
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
--
Pseudo Algo:
Write
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/x86/include/asm/kvm_para.h |4
arch/x86/kernel/kvm.c | 18 +-
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm
,
this might result into something undesireable, i.e. It might clear the
flush_mask of a new request.
So after sending an IPI and waiting for a while, do a halt and wait
for a kick from the last vcpu.
Signed-off-by: Srivatsa Vaddagiri va...@linux.vnet.ibm.com
Signed-off-by: Nikunj A. Dadhania nik
From: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
Certain architecture(viz. x86, arm, s390) have hardware page-table
walkers(#PF). So during the RCU page-table teardown process make sure
we do a tlb flush of page-table pages on all relevant CPUs to
synchronize against hardware walkers
disabled
this will be delayed.
http://article.gmane.org/gmane.linux.kernel/1290539
Tested-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/powerpc/include/asm/pgalloc.h |1 +
arch/s390/mm/pgtable.c |1
that are not running.
Suggested-by: Peter Zijlstra a.p.zijls...@chello.nl
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/x86/include/asm/kvm_para.h | 10 ++
arch/x86/kernel/kvm.c | 33 +
2 files changed, 43 insertions(+), 0 deletions
On Mon, 14 May 2012 00:15:30 +0530, Raghavendra K T
raghavendra...@linux.vnet.ibm.com wrote:
On 05/07/2012 08:22 PM, Avi Kivity wrote:
I could not come with pv-flush results (also Nikunj had clarified that
the result was on NOn PLE
Did you see any issues on PLE?
Regards,
Nikunj
--
To
On Thu, 10 May 2012 20:16:26 +0530, Nikunj A Dadhania
nik...@linux.vnet.ibm.com wrote:
On Thu, 10 May 2012 15:39:04 +0530, Nikunj A Dadhania
nik...@linux.vnet.ibm.com wrote:
I had a discussion with Avi on IRC, he suggested running a trace on the
host for the sched: tracepoints
So when I
On Thu, 10 May 2012 15:39:04 +0530, Nikunj A Dadhania
nik...@linux.vnet.ibm.com wrote:
On Thu, 10 May 2012 12:22:00 +0300, Avi Kivity a...@redhat.com wrote:
On 05/10/2012 11:15 AM, Nikunj A Dadhania wrote:
I am running a 3.4.0-rc4 based kernel(commit: af3a3ab2), guest config
attached
On Mon, 7 May 2012 22:42:30 +0200 (CEST), Thomas Gleixner t...@linutronix.de
wrote:
On Mon, 7 May 2012, Ingo Molnar wrote:
* Avi Kivity a...@redhat.com wrote:
PS: Nikunj had experimented that pv-flush tlb +
paravirt-spinlock is a win on PLE where only one of them
alone could
On Fri, 4 May 2012 17:14:49 +0530, Srivatsa Vaddagiri
va...@linux.vnet.ibm.com wrote:
* Nikunj A. Dadhania nik...@linux.vnet.ibm.com [2012-04-27 21:54:37]:
@@ -1549,6 +1549,11 @@ static void kvm_set_vcpu_state(struct kvm_vcpu *vcpu)
return;
vs-state = 1;
+ if (vs
On Wed, 02 May 2012 12:20:40 +0200, Peter Zijlstra pet...@infradead.org wrote:
[...]
diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h
index f96a5b5..8ca33e9 100644
--- a/include/asm-generic/tlb.h
+++ b/include/asm-generic/tlb.h
@@ -19,6 +19,8 @@
#include asm/pgalloc.h
On Tue, 01 May 2012 11:39:36 +0200, Peter Zijlstra pet...@infradead.org wrote:
On Sun, 2012-04-29 at 15:23 +0300, Avi Kivity wrote:
On 04/27/2012 07:24 PM, Nikunj A. Dadhania wrote:
flush_tlb_others_ipi depends on lot of statics in tlb.c. Replicated
the flush_tlb_others_ipi
On Wed, 02 May 2012 12:20:40 +0200, Peter Zijlstra pet...@infradead.org wrote:
On Wed, 2012-05-02 at 14:21 +0530, Nikunj A Dadhania wrote:
[root@krm1 linux]# grep HAVE_RCU_TABLE .config
CONFIG_HAVE_RCU_TABLE_FREE=y
[root@krm1 linux]# make -j32 -s
mm/memory.c: In function
On Tue, 01 May 2012 06:33:59 +0530, Raghavendra K T
raghavendra...@linux.vnet.ibm.com wrote:
On 04/27/2012 09:53 PM, Nikunj A. Dadhania wrote:
The patch adds guest code for msr between guest and hypervisor. The
msr will export the vcpu running/pre-empted information to the guest
from host
On Sun, 29 Apr 2012 15:23:16 +0300, Avi Kivity a...@redhat.com wrote:
On 04/27/2012 07:24 PM, Nikunj A. Dadhania wrote:
flush_tlb_others_ipi depends on lot of statics in tlb.c. Replicated
the flush_tlb_others_ipi as kvm_flush_tlb_others to further adapt to
paravirtualization.
Use
---
Nikunj A. Dadhania (5):
KVM Guest: Add VCPU running/pre-empted state for guest
KVM-HV: Add VCPU running/pre-empted state for guest
KVM: Add paravirt kvm_flush_tlb_others
KVM: export kvm_kick_vcpu for pv_flush
KVM: Introduce PV kick in flush tlb
arch/x86/include/asm
Hypervisor code to indicate guest running/pre-empteded status through
msr.
Suggested-by: Peter Zijlstra a.p.zijls...@chello.nl
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/x86/include/asm/kvm_host.h |7 ++
arch/x86/kvm/cpuid.c|1 +
arch/x86/kvm/x86
that are not running.
Suggested-by: Peter Zijlstra a.p.zijls...@chello.nl
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/x86/include/asm/kvm_para.h | 10 ++
arch/x86/kernel/kvm.c | 33 +
2 files changed, 43 insertions(+), 0 deletions
vcpus and set flush_on_enter flag
* For online vcpus: Wait for them to clear the flag
The approach was discussed here: https://lkml.org/lkml/2012/2/20/157
Suggested-by: Peter Zijlstra a.p.zijls...@chello.nl
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
--
Pseudo Algo:
Write
Get kvm_kick_cpu out of CONFIG_PARAVIRT_SPINLOCK define
Signed-off-by: Nikunj A. Dadhania nik...@linux.vnet.ibm.com
---
arch/x86/kernel/kvm.c | 18 +-
1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 66db54e
,
this might result into something undesireable, i.e. It might clear the
flush_mask of a new request.
So after sending an IPI and waiting for a while, do a halt and wait
for a kick from the last vcpu.
Signed-off-by: Srivatsa Vaddagiri va...@linux.vnet.ibm.com
Signed-off-by: Nikunj A. Dadhania nik
67 matches
Mail list logo