| Date | Fri, 30 Jan 2015 16:20:31 +0100 | From | Radim Krčmář <> | Subject | Re: [PATCH 0/8] KVM: minor APIC fixes and cleanups |
| |
2015-01-30 10:22+0100, Paolo Bonzini: > On 29/01/2015 22:48, Radim Krčmář wrote: > > This patch series is made our of three logical parts, > > > > [1-3/8] are just a cleanup and could be omitted > > [4-6/8] improve broadcast detection and unoptimized delivery > > [7-8/8] handle mixed mode (by falling back to improvements from [5-6/9]) > > I applied patches 1-4 and commented on patch 5. > > I'm afraid that patches 7-8 could lead to missed optimizations in some cases.
True, I'll do more research on complexity of its assembly.
> Regarding patch 6, perhaps there's a way to avoid this: > > + /* XXX: A superset of x2APIC broadcasts is fine in practice as long as > + * we don't support APIC ID > 0xfeffffff. > + */ > > It's ugly. :)
Yeah, there is: don't deliver x2APIC broadcasts to xAPIC. (I'm not even sure if it is correct ...)
Without that delivery, we could do something like if (irq->dest_id == (x2apic_ipi ? X2APIC_BROADCAST : APIC_BROADCAST))
|