> -----Original Message----- > From: kvm-owner@xxxxxxxxxxxxxxx [mailto:kvm-owner@xxxxxxxxxxxxxxx] On > Behalf Of Radim Krcmár > Sent: Friday, December 11, 2015 10:38 PM > To: Wu, Feng <feng.wu@xxxxxxxxx> > Cc: pbonzini@xxxxxxxxxx; kvm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > 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@xxxxxxxxxx] > >> (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@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html ��.n��������+%������w��{.n�����o�^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�