Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65E3BC636D7 for ; Wed, 22 Feb 2023 00:25:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230063AbjBVAZt (ORCPT ); Tue, 21 Feb 2023 19:25:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34914 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229540AbjBVAZq (ORCPT ); Tue, 21 Feb 2023 19:25:46 -0500 Received: from mail-pf1-x44a.google.com (mail-pf1-x44a.google.com [IPv6:2607:f8b0:4864:20::44a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 19AD8311C6 for ; Tue, 21 Feb 2023 16:25:45 -0800 (PST) Received: by mail-pf1-x44a.google.com with SMTP id t21-20020a056a00139500b005a8534314aeso2985471pfg.17 for ; Tue, 21 Feb 2023 16:25:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=cP2ew6CLjXLwbUzw33eDZCu1tkKWOTKqUIfWPUJr4xs=; b=evR/eee/sPFktGs2L5YTEL1xpZlZ5B4s/G6zF/DTpYDe62OnpBslnL2QMrh9jaXfpB RV3oEiOQ3SvSDTcjtfnoH8ACQ0h04FrS24VIq766+fFWRXAZFO3E81/4alWmJIGHoKwp 1t7Vmjxc5eixktyA262IOgNE2pKjefigjDayfzds8BLribLvmIPaa9MyYMFKwmbbl96Q 2tQHzteUNzXLCJ11jHWSA3COoEKWhoRzd5LVJtMLzqT9ZKW29FqchM5MJ60MprYndval 0ZqRUtjh+MaDU5HQIL3pMMJUa7sOLlQoz64Zio6JmG6G1+EVI1Fkyvrx+YE3n/Hkoh2d +Iqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=cP2ew6CLjXLwbUzw33eDZCu1tkKWOTKqUIfWPUJr4xs=; b=kgiwgtPq0EIgUbBl5AUpMAF5XNZkKkoatpYs2U2oZuDEB9lW/yNDjWlcKn0dKoD9M8 ZiKilLtx7Q1IR7NdUen3Ssq9bO2tHBPI6Xn+5/MQQhNZm06kj2dQdWMqOeZZbbHun8JF 7jlfI4L6G9ThoZNqfhbJw8EE3zXMbPxz5nQMo1yPCOQ2aZuoRd3AwxOI4H5nz9vXS6IS MyqYzWzYdrFSQS3BO+CNQSJLDjhEWYfL1Lk5U/59V9edtL5ypBxafYvm5ENx6YTfPabO UTFDRgt4pS1HyqTLwq+gLWPXqArqt2vb3fh/E74ltZoEODQnIUP2TJ5e2O7mUkpohqKq nYzg== X-Gm-Message-State: AO0yUKW6EL0ZRhiuRrdk6tgIkalb6BH/yBWDM6gSlSMTYQGCCLP4zk6l EMrUXJ9TBbMzCMsOMNO4bQBQ7IHYKbs= X-Google-Smtp-Source: AK7set9A/IZ8Qw6vWduy1ghx2o17N/VxPHoIRiTbP32aJuqzL1MyVeAd0Xgp5y2TgVFKKUlpxmp9BeHCVfI= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a63:3750:0:b0:4fb:be1a:2074 with SMTP id g16-20020a633750000000b004fbbe1a2074mr863138pgn.12.1677025544369; Tue, 21 Feb 2023 16:25:44 -0800 (PST) Date: Tue, 21 Feb 2023 16:25:42 -0800 In-Reply-To: <20230221110607.6wvrgpqip3njrkwu@linux.intel.com> Mime-Version: 1.0 References: <20230217225449.811957-1-seanjc@google.com> <20230217225449.811957-3-seanjc@google.com> <20230221110607.6wvrgpqip3njrkwu@linux.intel.com> Message-ID: Subject: Re: [PATCH 2/2] Documentation/process: Add a maintainer handbook for KVM x86 From: Sean Christopherson To: Yu Zhang Cc: Paolo Bonzini , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Sagi Shahar , Erdem Aktas , Peter Shier , Anish Ghulati , Oliver Upton , James Houghton , Anish Moorthy , Ben Gardon , David Matlack , Ricardo Koller , Axel Rasmussen , Aaron Lewis , Ashish Kalra , Babu Moger , Chao Gao , Chao Peng , Chenyi Qiang , David Woodhouse , Emanuele Giuseppe Esposito , Gavin Shan , Guang Zeng , Hou Wenlong , Jiaxi Chen , Jim Mattson , Jing Liu , Junaid Shahid , Kai Huang , Leonardo Bras , Like Xu , Li RongQing , "Maciej S . Szmigiero" , Maxim Levitsky , Michael Roth , Michal Luczaj , Mingwei Zhang , Nikunj A Dadhania , Paul Durrant , Peng Hao , Peter Gonda , Peter Xu , Robert Hoo , Suravee Suthikulpanit , Tom Lendacky , Vipin Sharma , Vitaly Kuznetsov , Wanpeng Li , Wei Wang , Xiaoyao Li , Zhenzhong Duan , kvm@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="us-ascii" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 21, 2023, Yu Zhang wrote: > 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.)? :) At some point, yes, but my strong preference is to document the x86 side of things and then work from there. For KVM x86, I can mostly just say "these are the rules". Same goes for the other KVM arch maintainers (for their areas). Incorporating all of KVM would require a much more collaborative effort, which isn't a bad thing, but it will take more time and effort. And IMO, KVM x86 needs this typ eof documentation a lot more than the other KVM architectures, i.e. pushing out KVM x86 documentation in order to go for more comprehensive documentation is not a good tradeoff. > > +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? Yes. > 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? Hmm, good question. Using kvm-86/next is likely the best answer in most cases. kvm/master is usually a bad choice because it won't have _any_ changes for the next release, i.e. using it as a base is more likely to yield conflicts. Similarly, kvm/queue and kvm/next are unlikely to have more relevant changes than kvm-x86/next. If there are non-trivial conflicts with multiple architectures then coordination between maintainers will be required no matter what base is used. And I would expect people sending those types of series to have enough experience to be able to make a judgment call and/or engage with maintainers to figure out the best solution. I'll rework the "Base Tree/Branch" to explicitly state that any series that primarily targets x86 should be based on kvm-x86/next, but with a "use common sense" qualifier. > > +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? I really don't want to hold up KVM-unit-test patches waiting for KVM fixes to be merged. KUT is already woefully under-maintained, artificially holding up patches will only make things worse. And simply waiting for patches to land in KVM doesn't necessarily solve things either, e.g. if the fixes land in kvm/master mid-cycle then running against kvm/next will continue to fail. Waiting also doesn't help people running KUT against older kernels, e.g. for qualifying stable kernels. I completely understand the pain, but unfortunately no one has come up with an elegant, low-maintenance solution (this problem has been discussed multiple times in the past). > 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 >