Thank you so much, Sean, for such a detailed guidance! Some questions below: On Fri, Feb 17, 2023 at 02:54:49PM -0800, Sean Christopherson wrote: > Add a KVM x86 doc to the subsystem/maintainer handbook section to explain > how KVM x86 (currently) operates as a sub-subsystem, and to soapbox on > the rules and expectations for contributing to KVM x86. It's a fantastic doc! Also, many good requirements can be common in KVM, not just KVM x86(e.g. the comment, changelog format, the testing requirement etc.). Could we be greedier to ask our KVM maintainers for a generic handbook of KVM, and maybe different sections for specific arches, which describe their specific requirements(the base trees and branches, the maintaining processes etc.)? :) > > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> > --- > .../process/maintainer-handbooks.rst | 1 + > Documentation/process/maintainer-kvm-x86.rst | 347 ++++++++++++++++++ > MAINTAINERS | 1 + > 3 files changed, 349 insertions(+) > create mode 100644 Documentation/process/maintainer-kvm-x86.rst > > diff --git a/Documentation/process/maintainer-handbooks.rst b/Documentation/process/maintainer-handbooks.rst > index d783060b4cc6..d12cbbe2b7df 100644 > --- a/Documentation/process/maintainer-handbooks.rst > +++ b/Documentation/process/maintainer-handbooks.rst > @@ -17,3 +17,4 @@ Contents: > > maintainer-tip > maintainer-netdev > + maintainer-kvm-x86 > diff --git a/Documentation/process/maintainer-kvm-x86.rst b/Documentation/process/maintainer-kvm-x86.rst > new file mode 100644 > index 000000000000..ac81a42a32a3 > --- /dev/null > +++ b/Documentation/process/maintainer-kvm-x86.rst > @@ -0,0 +1,347 @@ > +.. SPDX-License-Identifier: GPL-2.0 > + > +KVM x86 > +======= > + > +TL;DR > +----- > +Testing is mandatory. Be consistent with established styles and patterns. > + > +Trees > +----- > +KVM x86 is currently in a transition period from being part of the main KVM > +tree, to being "just another KVM arch". As such, KVM x86 is split across the > +main KVM tree, ``git.kernel.org/pub/scm/virt/kvm/kvm.git``, and a KVM x86 > +specific tree, ``github.com/kvm-x86/linux.git``. Does other arch also have a specific tree? If a patch series touches multiple archs(though the chance could be very low), I guess that patch set should still be based on the main KVM tree? The master branch or the next branch? ... > +Co-Posting Tests > +~~~~~~~~~~~~~~~~ > +KVM selftests that are associated with KVM changes, e.g. regression tests for > +bug fixes, should be posted along with the KVM changes as a single series. > + > +KVM-unit-tests should *always* be posted separately. Tools, e.g. b4 am, don't > +know that KVM-unit-tests is a separate repository and get confused when patches > +in a series apply on different trees. To tie KVM-unit-tests patches back to > +KVM patches, first post the KVM changes and then provide a lore Link: to the > +KVM patch/series in the KVM-unit-tests patch(es). I wonder, for KVM bugzilla to report a bug, or for our QAs to perform regular tests using KVM selftests/KVM-unit-tests, which tree/branch is more reasonable to be based on? E.g., I saw some bugzilla issues earlier, reporting failures of some unit tests, did some investigation, yet to find those failures were just because the corresponding KVM patches had not been merged yet. Maybe we also should take care of the timings of the merging of KVM patches and the test patches? Two examples(I'm sure there're more :)): 1> https://bugzilla.kernel.org/show_bug.cgi?id=216812 2> https://bugzilla.kernel.org/show_bug.cgi?id=216725 B.R. Yu