[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 for-4.19 1/3] x86/irq: deal with old_cpu_mask for interrupts in movement in fixup_irqs()
On Mon, Jun 17, 2024 at 03:18:42PM +0200, Jan Beulich wrote: > On 13.06.2024 18:56, Roger Pau Monne wrote: > > Given the current logic it's possible for ->arch.old_cpu_mask to get out of > > sync: if a CPU set in old_cpu_mask is offlined and then onlined > > again without old_cpu_mask having been updated the data in the mask will no > > longer be accurate, as when brought back online the CPU will no longer have > > old_vector configured to handle the old interrupt source. > > > > If there's an interrupt movement in progress, and the to be offlined CPU > > (which > > is the call context) is in the old_cpu_mask clear it and update the mask, > > so it > > doesn't contain stale data. > > Perhaps a comma before "clear" might further help reading. Happy to > add while committing. Maybe, I'm trying to think of other ways to word the sentence in order to make is simpler, but I'm out of ideas. > > Note that when the system is going down fixup_irqs() will be called by > > smp_send_stop() from CPU 0 with a mask with only CPU 0 on it, effectively > > asking to move all interrupts to the current caller (CPU 0) which is the > > only > > CPU to remain online. In that case we don't care to migrate interrupts that > > are in the process of being moved, as it's likely we won't be able to move > > all > > interrupts to CPU 0 due to vector shortage anyway. > > > > Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> > > Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Thanks, Roger.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |