From: Gleb Natapov <gleb@redhat.com>
To: Sheng Yang <sheng@linux.intel.com>
Cc: kvm@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
avi@redhat.com
Subject: Re: [PATCH] always report x2apic as supported feature
Date: Thu, 16 Jul 2009 09:12:32 +0300 [thread overview]
Message-ID: <20090716061232.GA30224@redhat.com> (raw)
In-Reply-To: <200907161409.09822.sheng@linux.intel.com>
On Thu, Jul 16, 2009 at 02:09:09PM +0800, Sheng Yang wrote:
> On Thursday 16 July 2009 14:00:15 Gleb Natapov wrote:
> > On Thu, Jul 16, 2009 at 09:46:21AM +0800, Sheng Yang wrote:
> > > On Thursday 16 July 2009 07:01:30 Marcelo Tosatti wrote:
> > > > On Sun, Jul 12, 2009 at 04:10:55PM +0300, Gleb Natapov wrote:
> > > > > We emulate x2apic in software, so host support is not required.
> > > > >
> > > > > Signed-off-by: Gleb Natapov <gleb@redhat.com>
> > > > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> > > > > index 00844eb..c256da7 100644
> > > > > --- a/arch/x86/kvm/x86.c
> > > > > +++ b/arch/x86/kvm/x86.c
> > > > > @@ -1497,6 +1497,9 @@ static void do_cpuid_ent(struct
> > > > > kvm_cpuid_entry2 *entry, u32 function, case 1:
> > > > > entry->edx &= kvm_supported_word0_x86_features;
> > > > > entry->ecx &= kvm_supported_word4_x86_features;
> > > > > + /* we support x2apic emulation even if host does not support
> > > > > + it since we emulate x2apic in software */
> > > > > + entry->ecx |= F(X2APIC);
> > > > > break;
> > > > > /* function 2 entries are STATEFUL. That is, repeated cpuid
> > > > > commands * may return different values. This forces us to get_cpu()
> > > > > before --
> > > > > Gleb.
> > > >
> > > > What if you have an older host that does not support emulate x2apic?
> > >
> > > Due to interrupt remapping can't be enabled with KVM now, I think older
> > > host would just ignore this info... (The new one can work without
> > > interrupt remapping with KVM).
> > >
> > > By the way, I saw X2APIC in host supported CPUID feature list(1.ecx),
> > > which I
> >
> > Where have you seen it? If you mean kvm_supported_word4_x86_features
> > then it is not what is supported by the host, but what is supported by
> > KVM. Host unsupported bits are dropped from there before reporting to
> > userspace. That is why this patch what necessary.
>
> Yes, that's what I mean. x2apic feature needn't judged by host feature, we can
> always set the bit to support it, no need for a filter. I think put it in the
> kvm_supported_word4_x86_features is a little misleading means that KVM support
> it through host feature rather than emulation.
>
Yeah, I put it there initially since I misunderstood how things work and
thought that it will be reported to userspace (and usercpace had a bug
that prevented me from discovering the problem).
--
Gleb.
prev parent reply other threads:[~2009-07-16 6:12 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-12 13:10 [PATCH] always report x2apic as supported feature Gleb Natapov
2009-07-12 13:21 ` Avi Kivity
2009-07-15 23:01 ` Marcelo Tosatti
2009-07-16 1:46 ` Sheng Yang
2009-07-16 6:00 ` Gleb Natapov
2009-07-16 6:09 ` Sheng Yang
2009-07-16 6:12 ` Gleb Natapov [this message]
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=20090716061232.GA30224@redhat.com \
--to=gleb@redhat.com \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=sheng@linux.intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.