From: Jan Kiszka <[email protected]> Sent: Tuesday, March 17, 2026 6:34 AM
> 
> On 17.03.26 14:22, Sebastian Andrzej Siewior wrote:
> > On 2026-03-17 12:56:02 [+0100], Jan Kiszka wrote:
> >>>> @@ -1410,6 +1408,8 @@ void vmbus_isr(void)
> >>>>                  lockdep_hardirq_threaded();
> >>>>                  __vmbus_isr();
> >>>>          }
> >>>> +
> >>>> +        add_interrupt_randomness(vmbus_interrupt);
> >>>>  }
> >>>>  EXPORT_SYMBOL_FOR_MODULES(vmbus_isr, "mshv_vtl");
> >>>
> >>> Why not sysvec_hyperv_callback()?
> >>
> >> Because we do not want to be x86-only.
> >
> > Who is other one and does it have its add_interrupt_randomness() there
> > already?
> 
> It's the arm64 path of the hv support. Regarding the vmbus IRQ, it seems
> to be fully handled here, without an equivalent of
> arch/x86/kernel/cpu/mshyperv.c.

The arm64 path is the call to request_percpu_irq() in vmbus_bus_init().
That call is only made when running on arm64. See the code comment in
vmbus_bus_init().

The specified interrupt handler is vmbus_percpu_isr(), which again runs
only on arm64. It calls vmbus_isr(), which starts the common path for both
x86/x64 and arm64.

Then the slight weirdness is that the standard Linux IRQ handling for
per-CPU IRQs on arm64 with a GICv3 (which is what Hyper-V emulates) 
does *not* call add_interrupt_randomness().  The function
gic_irq_domain_map() sets the IRQ handler for PPI range to
handle_percpu_devid_irq(), and that function does not do
add_interrupt_randomness().  The other variant, handle_percpu_irq(),
calls handle_irq_event_percpu(), which *does* do the
add_interrupt_randomness().

So at this point, putting the add_interrupt_randomness() in
vmbus_isr() is needed to catch both architectures. If the lack of
add_interrupt_randomness() in handle_percpu_devid_irq() is a bug,
then that would be a cleaner way to handle this. But maybe there's
a reason behind the current behavior of handle_percpu_devid_irq()
that I'm unaware of.

Michael

> 
> > This is a driver, this does not belong here.
> 
> Don't argue with me, I didn't put it here in the beginning. Maybe
> Michael can shed more light on this (and sorry for having forgotten to
> CC you on this patch).
> 
> Jan
> 
> --
> Siemens AG, Foundational Technologies
> Linux Expert Center

Reply via email to