From: "Michael S. Tsirkin" <mst@redhat.com>
To: x86@kernel.org, kvm@vger.kernel.org
Cc: Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
Avi Kivity <avi@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
gleb@redhat.com, Linus Torvalds <torvalds@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>
Subject: [PATCHv5 0/5] apic: eoi optimization support
Date: Tue, 22 May 2012 17:05:20 +0300 [thread overview]
Message-ID: <cover.1337695416.git.mst@redhat.com> (raw)
I'm looking at reducing the interrupt overhead for virtualized guests:
some workloads spend a large part of their time processing interrupts.
On kvm, an EOI write from the guest causes an expensive exit to host; we
avoid this using shared memory.
The patches work fine on my boxes. See individual patches
for perf tests. You need to patch qemu to whitelist the kvm feature.
qemu patch was sent separately.
The patches are against a merge of kvm.git (for apic announce bits) and
tip.git master. The last patch in the series, supplying the host
part, also depends on the ISR optimization patch that I sent previously:
changes to optimization would require reworking this last patch
in the series.
The rest of the patchset has not changed since v2.
Thanks,
MST
Changes from v4:
Turn off PV EOI on each exit. Turn it back on when safe.
Suggested by Avi.
Address bug with nested interrupts pointed out by Marcelo.
Changes from v3:
Address review comments by Marcelo:
Multiple cosmetic changes eoi -> pv_eoi
Added multiple comments
Changes from v2:
Kill guest with GP on an illegal MSR value
Add documentation
Changes from v1:
Add host side patch to series
Remove kvm-specific __test_and_clear_bit, document
that x86 one does what we want already
Clear msr on cpu unplug
Michael S. Tsirkin (5):
kvm_para: guest side for eoi avoidance
x86/bitops: note on __test_and_clear_bit atomicity
kvm: eoi msi documentation
kvm: only sync when attention bits set
kvm: host side for eoi optimization
Documentation/virtual/kvm/msr.txt | 32 +++++++++
arch/x86/include/asm/bitops.h | 13 +++-
arch/x86/include/asm/kvm_host.h | 12 +++
arch/x86/include/asm/kvm_para.h | 7 ++
arch/x86/kernel/kvm.c | 51 +++++++++++++-
arch/x86/kvm/cpuid.c | 1 +
arch/x86/kvm/lapic.c | 135 +++++++++++++++++++++++++++++++++++-
arch/x86/kvm/lapic.h | 2 +
arch/x86/kvm/trace.h | 34 +++++++++
arch/x86/kvm/x86.c | 8 ++-
10 files changed, 285 insertions(+), 10 deletions(-)
--
MST
next reply other threads:[~2012-05-22 14:05 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-22 14:05 Michael S. Tsirkin [this message]
2012-05-22 14:05 ` [PATCHv5 1/5] kvm_para: guest side for eoi avoidance Michael S. Tsirkin
2012-05-22 14:05 ` [PATCHv5 2/5] x86/bitops: note on __test_and_clear_bit atomicity Michael S. Tsirkin
2012-05-22 14:05 ` [PATCHv5 3/5] kvm: eoi msi documentation Michael S. Tsirkin
2012-05-22 14:05 ` [PATCHv5 4/5] kvm: only sync when attention bits set Michael S. Tsirkin
2012-05-22 14:05 ` [PATCHv5 5/5] kvm: host side for eoi optimization Michael S. Tsirkin
2012-05-31 9:57 ` Gleb Natapov
2012-05-31 10:11 ` Michael S. Tsirkin
2012-05-31 10:15 ` Gleb Natapov
2012-05-31 14:52 ` Michael S. Tsirkin
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=cover.1337695416.git.mst@redhat.com \
--to=mst@redhat.com \
--cc=avi@redhat.com \
--cc=gleb@redhat.com \
--cc=hpa@zytor.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=mtosatti@redhat.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.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).