From: Paolo Bonzini <pbonzini@redhat.com>
To: "Andreas Färber" <afaerber@suse.de>, qemu-devel@nongnu.org
Cc: chen.fan.fnst@cn.fujitsu.com, imammedo@redhat.com,
Zhu Guihua <zhugh.fnst@cn.fujitsu.com>,
ehabkost@redhat.com, izumi.taku@jp.fujitsu.com
Subject: Re: [Qemu-devel] [RESEND PATCH v8 1/4] apic: map APIC's MMIO region at each CPU's address space
Date: Thu, 25 Jun 2015 19:27:47 +0200 [thread overview]
Message-ID: <558C3A13.2050702@redhat.com> (raw)
In-Reply-To: <558C357C.4030908@suse.de>
On 25/06/2015 19:08, Andreas Färber wrote:
> > I said "I think this patch is incorrect, because you do not install a
> > separate address space for each CPU. Also, the CPU address space is
> > only used with TCG so it should be guarded by "if (tcg_enabled())"."
> >
> > By the way, now TCG _is_ installing a separate address space per CPU
> > already, so the patch can simply guard the code with "if (tcg_enabled())".
>
> Is the APIC MemoryRegion not used by KVM?
It's used if the userspace LAPIC is. It's not used together with the
kernel LAPIC (accesses really are trapped by the kernel).
> Otherwise if we still need the
> ugly code path for KVM, that's not much of an improvement here.
>
> And is installing a separate address space per CPU for KVM difficult due
> to kernel limitations, or is this just a few lines of QEMU code that Zhu
> or someone would need to write? :)
It's basically impossible. Even though support for multiple address
spaces is going to be in Linux 4.2, there are going to be just two: SMM
and not SMM. You don't really want to do O(#cpus) stuff in KVM, where
the number of CPUs can be 200 or more.
TCG is okay because the #cpus is not really going to be more than 4-ish.
Paolo
next prev parent reply other threads:[~2015-06-25 17:28 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-25 2:17 [Qemu-devel] [RESEND PATCH v8 0/4] remove icc bus/bridge Zhu Guihua
2015-06-25 2:17 ` [Qemu-devel] [RESEND PATCH v8 1/4] apic: map APIC's MMIO region at each CPU's address space Zhu Guihua
2015-06-25 16:00 ` Andreas Färber
2015-06-25 16:02 ` Paolo Bonzini
2015-06-25 16:10 ` Andreas Färber
2015-06-25 17:02 ` Paolo Bonzini
2015-06-25 17:08 ` Andreas Färber
2015-06-25 17:27 ` Paolo Bonzini [this message]
2015-06-25 17:32 ` Peter Maydell
2015-06-25 17:39 ` Paolo Bonzini
2015-06-26 9:01 ` Igor Mammedov
2015-06-26 9:05 ` Paolo Bonzini
2015-06-25 2:17 ` [Qemu-devel] [RESEND PATCH v8 2/4] hw: add a wrapper for registering reset handler Zhu Guihua
2015-06-25 16:57 ` Andreas Färber
2015-06-25 17:00 ` Paolo Bonzini
2015-06-25 17:28 ` Andreas Färber
2015-06-26 9:19 ` Igor Mammedov
2015-06-26 10:05 ` Paolo Bonzini
2015-06-30 6:31 ` Zhu Guihua
2015-06-30 9:21 ` Igor Mammedov
2015-06-30 10:50 ` Zhu Guihua
2015-06-30 10:55 ` Peter Maydell
2015-06-30 18:38 ` Eduardo Habkost
2015-06-30 10:24 ` Andreas Färber
2015-06-30 18:30 ` Eduardo Habkost
2015-06-25 2:17 ` [Qemu-devel] [RESEND PATCH v8 3/4] cpu/apic: drop icc bus/bridge Zhu Guihua
2015-06-25 16:44 ` Andreas Färber
2015-06-25 2:17 ` [Qemu-devel] [RESEND PATCH v8 4/4] icc_bus: drop the unused files Zhu Guihua
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=558C3A13.2050702@redhat.com \
--to=pbonzini@redhat.com \
--cc=afaerber@suse.de \
--cc=chen.fan.fnst@cn.fujitsu.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=izumi.taku@jp.fujitsu.com \
--cc=qemu-devel@nongnu.org \
--cc=zhugh.fnst@cn.fujitsu.com \
/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).