On 5/7/2024 6:16 AM, mhkelley58@xxxxxxxxx wrote: > From: Michael Kelley <mhklinux@xxxxxxxxxxx> > > Current documentation does not describe how Linux handles the synthetic > interrupt controller (synic) that Hyper-V provides to guest VMs, nor how > VMBus or timer interrupts are handled. Add text describing the synic and > reorganize existing text to make this more clear. > > Signed-off-by: Michael Kelley <mhklinux@xxxxxxxxxxx> > --- > Documentation/virt/hyperv/clocks.rst | 21 +++++--- > Documentation/virt/hyperv/vmbus.rst | 79 ++++++++++++++++++---------- > 2 files changed, 66 insertions(+), 34 deletions(-) > > diff --git a/Documentation/virt/hyperv/clocks.rst b/Documentation/virt/hyperv/clocks.rst > index a56f4837d443..919bb92d6d9d 100644 > --- a/Documentation/virt/hyperv/clocks.rst > +++ b/Documentation/virt/hyperv/clocks.rst > @@ -62,12 +62,21 @@ shared page with scale and offset values into user space. User > space code performs the same algorithm of reading the TSC and > applying the scale and offset to get the constant 10 MHz clock. > > -Linux clockevents are based on Hyper-V synthetic timer 0. While > -Hyper-V offers 4 synthetic timers for each CPU, Linux only uses > -timer 0. Interrupts from stimer0 are recorded on the "HVS" line in > -/proc/interrupts. Clockevents based on the virtualized PIT and > -local APIC timer also work, but the Hyper-V synthetic timer is > -preferred. > +Linux clockevents are based on Hyper-V synthetic timer 0 (stimer0). > +While Hyper-V offers 4 synthetic timers for each CPU, Linux only uses > +timer 0. In older versions of Hyper-V, an interrupt from stimer0 > +results in a VMBus control message that is demultiplexed by > +vmbus_isr() as described in the VMBus documentation. Is VMBus documentation here referring to Documentation/virt/hyperv/vmbus.rst? If so, could you please add internal links with :ref:? See for example in Documentation/process/1.Intro.rst. If referring to Microsoft documentation, please provide a permalink. Please do also look for other opportunities to cross-link within Documentation or to external resources. Thanks for the improvements! Easwar