[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<SN6PR02MB415748967556A7BD7FD59738D4E72@SN6PR02MB4157.namprd02.prod.outlook.com>
Date: Fri, 10 May 2024 18:21:00 +0000
From: Michael Kelley <mhklinux@...look.com>
To: Easwar Hariharan <eahariha@...ux.microsoft.com>, "haiyangz@...rosoft.com"
<haiyangz@...rosoft.com>, "wei.liu@...nel.org" <wei.liu@...nel.org>,
"decui@...rosoft.com" <decui@...rosoft.com>, "kys@...rosoft.com"
<kys@...rosoft.com>, "corbet@....net" <corbet@....net>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>
Subject: RE: [PATCH 2/2] Documentation: hyperv: Improve synic and interrupt
handling description
From: Easwar Hariharan <eahariha@...ux.microsoft.com> Sent: Friday, May 10, 2024 10:55 AM
>
> On 5/7/2024 6:16 AM, mhkelley58@...il.com wrote:
> > From: Michael Kelley <mhklinux@...look.com>
> >
> > 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@...look.com>
> > ---
> > 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.
You are right. The reference is to vmbus.rst. I'll make it a link, though the
guidelines under "Cross-referencing" in "Using Sphinx for kernel documentation"
prefer just using the path to the documentation file with no special annotation
like :doc: or :ref:. So it would just be "Documentation/virt/hyperv/vmbus.rst".
I'll try this and make sure it comes out right.
Michael
> 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
Powered by blists - more mailing lists