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)) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html