[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
On Tue, Sep 24, 2024 at 06:21:47PM +0200, Jan Beulich wrote: > On 24.09.2024 18:14, Roger Pau Monné wrote: > > On Tue, Sep 24, 2024 at 04:27:36PM +0100, Andrew Cooper wrote: > >> On 24/09/2024 4:10 pm, Roger Pau Monné wrote: > >>> On Mon, Sep 23, 2024 at 03:35:59PM +0100, Matthew Barnes wrote: > >>>> With the introduction of mixed x2APIC mode (using cluster addressing for > >>>> IPIs and physical for external interrupts) the use of pure cluster mode > >>>> doesn't have any benefit. > >>>> > >>>> Remove the mode itself, leaving only the code required for logical > >>>> addressing when sending IPIs. > >>>> > >>>> Implements: https://gitlab.com/xen-project/xen/-/issues/189 > >> > >> We use the Resolves: tag for this. Can fix on commit. > >> > >>> There's at least one extra bit which I would also like to see removed, > >>> either in this patch, or as following patch. > >>> > >>> In struct arch_irq_desc we have 3 cpumasks: cpu_mask, old_cpu_mask and > >>> pending_mask. After dropping cluster mode for external interrupts, > >>> those fields could become integers AFACT, as now interrupts can only > >>> target a single CPU opposed to a logical CPU set. > >> > >> A separate patch for sure, but that sounds like a great improvement. > > > > Oh, there are quite some fields of struct genapic that are not needed > > anymore, since both implementations set it to the same function. It > > would be helpful to prune them. > > Pruning where possible - yes. But "both" won't cover it, as we have 4 > instances of the struct (not just the two x2apic ones). Yeah, realized that afterwards, we still have the xAPIC flat mode, which is using logical delivery mode, but target a single CPU. So getting rid of the cpumask in arch_irq_desc seem possible, however there might be nothing to prune in struct genapic. Regards, Roger.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |