[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <E959C4978C3B6342920538CF579893F00AEE805D@SHSMSX104.ccr.corp.intel.com>
Date: Tue, 15 Dec 2015 01:52:10 +0000
From: "Wu, Feng" <feng.wu@...el.com>
To: Radim Krcmár <rkrcmar@...hat.com>
CC: "pbonzini@...hat.com" <pbonzini@...hat.com>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Wu, Feng" <feng.wu@...el.com>
Subject: RE: [PATCH] KVM: x86: Add lowest-priority support for vt-d
posted-interrupts
> -----Original Message-----
> From: kvm-owner@...r.kernel.org [mailto:kvm-owner@...r.kernel.org] On
> Behalf Of Radim Krcmár
> Sent: Friday, December 11, 2015 10:38 PM
> To: Wu, Feng <feng.wu@...el.com>
> Cc: pbonzini@...hat.com; kvm@...r.kernel.org; linux-kernel@...r.kernel.org
> Subject: Re: [PATCH] KVM: x86: Add lowest-priority support for vt-d posted-
> interrupts
>
> 2015-12-10 01:52+0000, Wu, Feng:
> >> From: Radim Krčmář [mailto:rkrcmar@...hat.com]
> >> (Physical xAPIC+x2APIC mode is still somewhat reasonable and xAPIC CPUs
> >> start with LDR=0, which means that operating system doesn't need to
> >> utilize mixed mode, as defined by KVM, when switching to x2APIC.)
> >
> > I think you mean Physical xAPIC+Physical x2APIC mode, right? For physical
> > mode, we don't use LDR in any case, do we? So in physical mode, we only
> > use the APIC ID, that is why they can be mixed, is my understanding correct?
>
> Yes. (Technically, physical and logical addressing is always active in
> APIC, but xAPIC must have nonzero LDR to accept logical interrupts[1].)
> If all xAPIC LDRs are zero, KVM doesn't enter a "mixed mode" even if
> some are xAPIC and some x2APIC [2].
>
> 1: Real LAPICs probably do not accept broadcasts on APICs where LDR=0,
> KVM LAPICs do, but lowest priority broadcast is not allowed anyway,
> so PI doesn't care.
>
> 2: KVM allows OS-writeable APIC ID, which complicates things and real
> hardware probably doesn't allow it because of that ... we'd be saner
> with RO APIC ID, but it's not that bad. (And no major OS does it :])
>
> >> the system uses cluster xAPIC, OS should set DFR before LDR, which
> >> doesn't trigger mixed mode either.)
> >
> > Just curious, if the APIC is software disabled and it is in xAPIC mode. OS sets
> > different value for DFR for different APICs, then when OS sets LDR, KVM can
> > trigger mixed flat and cluster mode, right?
>
> Exactly.
> APICs with zeroed LDR are ignored, so KVM will use the slow-path for
> delivery (= trigger mixed mode) at the moment the first APIC with
> different DFR is configured.
Thanks a lot for your explanation!
Thanks,
Feng
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists