Skip to contentSkip to conversation

kvmppc: optimize path run on every exit

PATCH In review [email protected] 1 participant 2 messages Oct 10, 2008 – Oct 13, 2008

lore
Share & tools
lore
#0 lore raw

cover kvmppc: optimize path run on every exit

From: Christian Ehrhardt <[email protected]>

A small patch series of optimizations out of our discussions and my experiments this week.
All patches improve the generic path executed for every exit we take, therefore even a littel improvement can help a lot.

I would be happy if we could apply those soon. I'll continue looking into the TLB stuff eating ~30% of our time. But since that might take a while I would be happy if these three patches could be applied now (and relieve me, by not having to keep them in sync).

Comments welcome, especially since exits still feel too long (current assumption cache or tlb issues). See my other mails about exit timing on [email protected]

[patches in series]
Subject: [PATCH 1/3] kvmppc: optimize irq delivery path
Subject: [PATCH 2/3] kvmppc: optimize kvm stat handling
Subject: [PATCH 3/3] kvmppc: optimize find first bit

---
[diffstat]

 arch/powerpc/kvm/booke_guest.c   |  184 +++++++++++++++------------------------
 b/arch/powerpc/kvm/booke_guest.c |    2
 b/arch/powerpc/kvm/emulate.c     |   64 ++++++-------
 b/arch/powerpc/kvm/powerpc.c     |    5 -
 b/include/asm-powerpc/kvm_asm.h  |   18 +++
 b/include/asm-powerpc/kvm_ppc.h  |    9 -
 6 files changed, 130 insertions(+), 152 deletions(-)
#1 lore raw

cover kvmppc: optimize path run on every exit

From: Christian Ehrhardt <[email protected]>

updates in v2:
* exception_priority back to char to save space (=>cache lines)
* rebased to apply pre pvmem & exit timing patches
* moved PRIO constants from kvm_asm.h to kvm_ppc.h
* replaced 16x4byte interrupt_mask by single u32

A small patch series of optimizations out of our discussions and my experiments this week.
All patches improve the generic path executed for every exit we take, therefore even a littel improvement can help a lot.

I would be happy if we could apply those soon. I'll continue looking into the TLB stuff eating ~30% of our time. But since that might take a while I would be happy if these three patches could be applied now (and relieve me, by not having to keep them in sync).

Comments welcome, especially since exits still feel too long (current assumption cache or tlb issues). See my other mails about exit timing on [email protected]

[patches in series]
Subject: [PATCH 1/3] kvmppc: optimize irq delivery path
Subject: [PATCH 2/3] kvmppc: optimize kvm stat handling
Subject: [PATCH 3/3] kvmppc: optimize find first bit

---
[diffstat]

 arch/powerpc/kvm/booke_guest.c   |  187 ++++++++++++++-------------------------
 b/arch/powerpc/kvm/booke_guest.c |    2
 b/arch/powerpc/kvm/emulate.c     |  128 ++++++++++++++++++++------
 b/arch/powerpc/kvm/powerpc.c     |    5 -
 b/include/asm-powerpc/kvm_ppc.h  |   25 ++++-
 5 files changed, 191 insertions(+), 156 deletions(-)