> > On 10/8/2023 1:45 pm, Xiong Zhang wrote: > > Add a vPMU implementation and gap document to explain vArch PMU and > > vLBR implementation in kvm, especially the current gap to support host > > and guest perf event coexist. > > > > Signed-off-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> > > --- > > Changelog: > > v2 -> v3: > > * When kvm perf event is inactive, it is in error state actually, so > > inactive is changed into error. > > * Fix make htmldoc warning > > > > v1 -> v2: > > * Refactor perf scheduler section > > * Correct one sentence in vArch PMU section > > --- > > Documentation/virt/kvm/x86/index.rst | 1 + > > Documentation/virt/kvm/x86/pmu.rst | 332 > +++++++++++++++++++++++++++ > > 2 files changed, 333 insertions(+) > > create mode 100644 Documentation/virt/kvm/x86/pmu.rst > > > > diff --git a/Documentation/virt/kvm/x86/index.rst > > b/Documentation/virt/kvm/x86/index.rst > > index 9ece6b8dc817..02c1c7b01bf3 100644 > > --- a/Documentation/virt/kvm/x86/index.rst > > +++ b/Documentation/virt/kvm/x86/index.rst > > @@ -14,5 +14,6 @@ KVM for x86 systems > > mmu > > msr > > nested-vmx > > + pmu > > running-nested-guests > > timekeeping > > diff --git a/Documentation/virt/kvm/x86/pmu.rst > > b/Documentation/virt/kvm/x86/pmu.rst > > new file mode 100644 > > index 000000000000..503516c41119 > > --- /dev/null > > +++ b/Documentation/virt/kvm/x86/pmu.rst > > @@ -0,0 +1,332 @@ > > +.. SPDX-License-Identifier: GPL-2.0 > > WARNING: Missing or malformed SPDX-License-Identifier tag in line 1 > #34: FILE: Documentation/virt/kvm/x86/pmu.rst:1: > +.. SPDX-License-Identifier: GPL-2.0 > > > + > > +========================== > > +PMU virtualization for X86 > > For Intel ? > > Many of the descriptions below are Intel features, so you either have to add > AMD part or limit the scope, otherwise the reader will be confused. > > > +========================== > > + > > +:Author: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> > > +:Copyright: (c) 2023, Intel. All rights reserved. > > + > > +.. Contents > > + > > +1. Overview > > +2. Perf Scheduler Basic > > I would strongly suggest moving this section out of KVM subsystem, Two > possible locations: > > - Documentation/admin-guide/perf > - tools/perf/Documentation/ > > Or the better one, the man2/perf_event_open.2 page in the man-pages project: > > - > https://git.kernel.org/pub/scm/docs/man-pages/man- > pages.git/tree/man2/perf_event_open.2 > > It's more generic and someone more appropriate could update and maintain it > for more readers. > Here we only need to refer to it so as not to bother users with > outdated/mismatched content. > > > +3. Arch PMU virtualization > > +4. LBR virtualization > > How about organizing it this way: > > 1. PMU Overview > 2. Capability Enumeration > 3. Basic Counter Virtualization > 4. Intel PEBS Virtualization > 5. Intel LBR Virtualization > 6. KVM PMU APIs Guidance > 7. Limitations and TODOs > 8. Reference Thanks a lot for reviewing and giving suggestions. I will import your other suggestions and adopt this organizing.