linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: ehrhardt@linux.vnet.ibm.com
To: linuxppc-dev@ozlabs.org, kvm-ppc@vger.kernel.org
Cc: hollisb@us.ibm.com
Subject: [PATCH 4/4] kvmppc: convert wrteei to wrtee as kvm guest optimization
Date: Tue, 19 Aug 2008 12:36:44 +0200	[thread overview]
Message-ID: <1219142204-12044-5-git-send-email-ehrhardt@linux.vnet.ibm.com> (raw)
In-Reply-To: <1219142204-12044-1-git-send-email-ehrhardt@linux.vnet.ibm.com>

From: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>

Dependent on the already existing CONFIG_KVM_GUEST config option this patch
changes wrteei to wrtee allowing the hypervisor to rewrite those to nontrapping
instructions. Maybe we should split the kvm guest otpimizations in two parts
one for the overhead free optimizations and on for the rest that might add
some complexity for non virtualized execution (like this one).

Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
---

[diffstat]
 hw_irq.h |   12 ++++++++++++
 1 file changed, 12 insertions(+)

[diff]
diff --git a/include/asm-powerpc/hw_irq.h b/include/asm-powerpc/hw_irq.h
--- a/include/asm-powerpc/hw_irq.h
+++ b/include/asm-powerpc/hw_irq.h
@@ -72,7 +72,11 @@
 static inline void local_irq_disable(void)
 {
 #ifdef CONFIG_BOOKE
+#ifdef CONFIG_KVM_GUEST
+	__asm__ __volatile__("wrtee %0": : "r"(0) :"memory");
+#else
 	__asm__ __volatile__("wrteei 0": : :"memory");
+#endif
 #else
 	unsigned long msr;
 	__asm__ __volatile__("": : :"memory");
@@ -84,7 +88,11 @@
 static inline void local_irq_enable(void)
 {
 #ifdef CONFIG_BOOKE
+#ifdef CONFIG_KVM_GUEST
+	__asm__ __volatile__("wrtee %0": : "r"(MSR_EE) :"memory");
+#else
 	__asm__ __volatile__("wrteei 1": : :"memory");
+#endif
 #else
 	unsigned long msr;
 	__asm__ __volatile__("": : :"memory");
@@ -99,7 +107,11 @@
 	msr = mfmsr();
 	*flags = msr;
 #ifdef CONFIG_BOOKE
+#ifdef CONFIG_KVM_GUEST
+	__asm__ __volatile__("wrtee %0": : "r"(0) :"memory");
+#else
 	__asm__ __volatile__("wrteei 0": : :"memory");
+#endif
 #else
 	SET_MSR_EE(msr & ~MSR_EE);
 #endif

  parent reply	other threads:[~2008-08-19 10:37 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-19 10:36 [PATCH 0/4][RFC] kvmppc: paravirtualization interface - guest part v2 ehrhardt
2008-08-19 10:36 ` [PATCH 1/4] kvmppc: read device tree hypervisor node infrastructure ehrhardt
2008-08-19 11:52   ` Josh Boyer
2008-08-19 11:56     ` Josh Boyer
2008-08-19 10:36 ` [PATCH 2/4] kvmppc: add hypercall infrastructure - guest part ehrhardt
2008-08-19 11:28   ` Arnd Bergmann
2008-08-20 12:41     ` Christian Ehrhardt
2008-08-21 22:25     ` Hollis Blanchard
2008-08-22 10:38   ` Kumar Gala
2008-08-22 14:00     ` Hollis Blanchard
2008-08-19 10:36 ` [PATCH 3/4] kvmppc: magic page paravirtualization " ehrhardt
2008-08-20  2:29   ` Tony Breeds
2008-08-19 10:36 ` ehrhardt [this message]
2008-08-19 11:42   ` [PATCH 4/4] kvmppc: convert wrteei to wrtee as kvm guest optimization Arnd Bergmann
2008-08-20 12:53     ` Christian Ehrhardt
2008-08-20 18:30       ` Hollis Blanchard
2008-08-20 18:52         ` Josh Boyer
2008-08-20 19:06           ` Hollis Blanchard
2008-08-20 19:18             ` Josh Boyer
2008-08-21 13:31               ` Christian Ehrhardt
2008-08-21 13:41   ` Kumar Gala
2008-08-21 14:13     ` Christian Ehrhardt
2008-08-21 14:21       ` Kumar Gala
2008-08-21 16:16         ` Scott Wood
2008-08-22  8:08           ` Christian Ehrhardt
2008-08-22  8:17             ` Kumar Gala
2008-08-22 13:56               ` Jimi Xenidis
2008-08-22 15:49                 ` Scott Wood

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=1219142204-12044-5-git-send-email-ehrhardt@linux.vnet.ibm.com \
    --to=ehrhardt@linux.vnet.ibm.com \
    --cc=hollisb@us.ibm.com \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.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).