From: Oliver Upton <oliver.upton@linux.dev>
To: Sean Christopherson <seanjc@google.com>
Cc: Bagas Sanjaya <bagasdotme@gmail.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
Sagi Shahar <sagis@google.com>,
Erdem Aktas <erdemaktas@google.com>,
Peter Shier <pshier@google.com>,
Anish Ghulati <aghulati@google.com>,
James Houghton <jthoughton@google.com>,
Anish Moorthy <amoorthy@google.com>,
Ben Gardon <bgardon@google.com>,
David Matlack <dmatlack@google.com>,
Ricardo Koller <ricarkol@google.com>,
Axel Rasmussen <axelrasmussen@google.com>,
Aaron Lewis <aaronlewis@google.com>,
Ashish Kalra <ashish.kalra@amd.com>,
Babu Moger <babu.moger@amd.com>, Chao Gao <chao.gao@intel.com>,
Chao Peng <chao.p.peng@linux.intel.com>,
Chenyi Qiang <chenyi.qiang@intel.com>,
David Woodhouse <dwmw@amazon.co.uk>,
Emanuele Giuseppe Esposito <eesposit@redhat.com>,
Gavin Shan <gshan@redhat.com>, Guang Zeng <guang.zeng@intel.com>,
Hou Wenlong <houwenlong.hwl@antgroup.com>,
Jiaxi Chen <jiaxi.chen@linux.intel.com>,
Jim Mattson <jmattson@google.com>, Jing Liu <jing2.liu@intel.com>,
Junaid Shahid <junaids@google.com>,
Kai Huang <kai.huang@intel.com>,
Leonardo Bras <leobras@redhat.com>,
Like Xu <like.xu.linux@gmail.com>,
Li RongQing <lirongqing@baidu.com>,
"Maciej S . Szmigiero" <maciej.szmigiero@oracle.com>,
Maxim Levitsky <mlevitsk@redhat.com>,
Michael Roth <michael.roth@amd.com>, Michal Luczaj <mhal@rbox.co>,
Mingwei Zhang <mizhang@google.com>,
Nikunj A Dadhania <nikunj@amd.com>,
Paul Durrant <pdurrant@amazon.com>,
Peng Hao <flyingpenghao@gmail.com>,
Peter Gonda <pgonda@google.com>, Peter Xu <peterx@redhat.com>,
Robert Hoo <robert.hu@linux.intel.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Tom Lendacky <thomas.lendacky@amd.com>,
Vipin Sharma <vipinsh@google.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
Wanpeng Li <wanpengli@tencent.com>,
Wei Wang <wei.w.wang@intel.com>,
Xiaoyao Li <xiaoyao.li@intel.com>,
Yu Zhang <yu.c.zhang@linux.intel.com>,
Zhenzhong Duan <zhenzhong.duan@intel.com>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/2] Documentation/process: Add a maintainer handbook for KVM x86
Date: Mon, 13 Mar 2023 17:32:15 +0000 [thread overview]
Message-ID: <ZA9eHzE5vhnXh+TA@linux.dev> (raw)
In-Reply-To: <ZAoWogdeET5N0mug@google.com>
On Thu, Mar 09, 2023 at 09:25:54AM -0800, Sean Christopherson wrote:
> On Thu, Mar 09, 2023, Oliver Upton wrote:
> > On Thu, Mar 09, 2023 at 09:37:45AM +0700, Bagas Sanjaya wrote:
> > > On Wed, Mar 08, 2023 at 05:03:36PM -0800, Sean Christopherson wrote:
> > > > +As a general guideline, use ``kvm-x86/next`` even if a patch/series touches
> > > > +multiple architectures, i.e. isn't strictly scoped to x86. Using any of the
> > > > +branches from the main KVM tree is usually a less good option as they likely
> > > > +won't have many, if any, changes for the next release, i.e. using the main KVM
> > > > +tree as a base is more likely to yield conflicts. And if there are non-trivial
> > > > +conflicts with multiple architectures, coordination between maintainers will be
> > > > +required no matter what base is used. Note, this is far from a hard rule, i.e.
> > > > +use a different base for multi-arch series if that makes the most sense.
> >
> > I don't think this is the best way to coordinate with other architectures.
> > Regardless of whether you intended this to be prescriptive, I'm worried most
> > folks will follow along and just base patches on kvm-x86/next anyway.
>
> Probably, but for the target audience (KVM x86 contributors), that's likely the
> least awful base 99% of the time.
Sorry, I follow this reasoning at all.
If folks are aiming to make a multi-arch contribution then the architecture
they regularly contribute to has absolutely zero relevance on the series
itself.
> > It'd be easier to just have multi-arch series use a stable base (i.e. a
> > release candidate) by default. That'd avoid the undesirable case where merging
> > a shared branch brings with it some random point in another arch's /next
> > history.
>
> You're conflating the base of the patch series with the branch it is applied to.
We cannot pretend the two are in no way related. The dependencies of a series
are not obvious when based on the /next branch of any one architecture.
> I'm most definitely not proposing that multi-arch series from x86 contributors
> always be routed through kvm-x86. It's ultimately the responsibility of the
> maintainers, not the contributors, to avoid funky merges and histories.
Right, but contributors looking to make changes across architectures share
some of the burden of cross-arch coordination as well. Basing patches off of
a random commit not in Linus' tree does not match at least the arm64
workflow.
> If a
> series warrants a dedicated topic branch, then we need to create said topic branch
> off a stable, common base, irrespective of what the contributor based their patches
> on.
The lowest friction way to coordinate such things is to start off with a
common base and go from there. If there is a compelling argument for doing
things differently in the context of one series then let's talk about it on
the list.
> If a series from an x86 contributor applies cleanly on kvm-x86/next but not on
> -rc2 (or whatever), then the reverse would also likely be true (if the contributor
> used -rc2 as the base).
This can be addressed in a merge resolution, thereby offloading the
responsibility to the maintainer.
> In other words, for series with non-trivial modifications
> to other architectures and/or common KVM code, IMO the base used for the _initial_
> posting doesn't matter all that much for us maintainers since such series will
> likely require additional attention no matter what base is used.
In all likelihood, sure the series will be respun. But, you're offloading the
responsibility to ask for a sane base on other arch maintainers which I'm not
cool with.
> On the flip side, the vast majority of "multi-arch" series in KVM tend to be focused
> on a single architecture, with only incidental contact to other architectures and/or
> common KVM code. Those types of series will likely be routed through their "target"
> arch tree, and so for x86, using kvm-x86/next as the base is preferrable.
With long term aspirations to share more code between architectures (e.g.
common MMU) I believe we'll see more changes that have meaningful interaction
with all architecutures.
> My goal with suggesting/prescribing kvm-x86/next to contributors is to make the
> easy things easy. On my end, that means having _predictable_ submissions and
> minimizing the number of avoidable conflicts. For contributors, that means having
> a very simple rule/guideline. "Use kvm-x86/next unless you know better" satisfies
> all those conditions.
I believe "Use a release candidate unless you know better" for multi-arch
changes is just as simple. Better yet, it clues in contributors as to how
changes are coordinated across architectures and might help them know better
next time around.
> > If a different approach makes sense for a particular series then we can
> > discuss it on the list and arrive at something agreeable for all parties
> > involved.
> >
> > > That means patches that primarily kvm ARM changes should be based on
> > > kvm-x86/next, right?
> >
> > No, don't do that.
>
> +<infinity symbol>
>
> This doc is specifically for KVM x86.
You've also made some suggestions about cross-arch development that do not fit
the development model of other architectures. I have no desire to nitpick
about the x86 process but want the multiarch language to actually set folks up
for success working outside of the KVM/x86 tree.
--
Thanks,
Oliver
next prev parent reply other threads:[~2023-03-13 17:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-09 1:03 [PATCH v2 0/2] Documentation/process: Add a maintainer handbook for KVM x86 Sean Christopherson
2023-03-09 1:03 ` [PATCH v2 1/2] Documentation/process: Add a label for the tip tree handbook's coding style Sean Christopherson
2023-03-09 1:03 ` [PATCH v2 2/2] Documentation/process: Add a maintainer handbook for KVM x86 Sean Christopherson
2023-03-09 2:37 ` Bagas Sanjaya
2023-03-09 8:19 ` Oliver Upton
2023-03-09 17:25 ` Sean Christopherson
2023-03-13 17:32 ` Oliver Upton [this message]
2023-03-13 17:38 ` Oliver Upton
2023-03-13 18:20 ` Sean Christopherson
2023-03-13 18:38 ` Oliver Upton
2023-03-13 18:56 ` Sean Christopherson
2023-03-09 17:40 ` Sean Christopherson
2023-03-10 9:09 ` Robert Hoo
2023-03-10 15:51 ` Sean Christopherson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZA9eHzE5vhnXh+TA@linux.dev \
--to=oliver.upton@linux.dev \
--cc=aaronlewis@google.com \
--cc=aghulati@google.com \
--cc=amoorthy@google.com \
--cc=ashish.kalra@amd.com \
--cc=axelrasmussen@google.com \
--cc=babu.moger@amd.com \
--cc=bagasdotme@gmail.com \
--cc=bgardon@google.com \
--cc=bp@alien8.de \
--cc=chao.gao@intel.com \
--cc=chao.p.peng@linux.intel.com \
--cc=chenyi.qiang@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=dmatlack@google.com \
--cc=dwmw@amazon.co.uk \
--cc=eesposit@redhat.com \
--cc=erdemaktas@google.com \
--cc=flyingpenghao@gmail.com \
--cc=gshan@redhat.com \
--cc=guang.zeng@intel.com \
--cc=houwenlong.hwl@antgroup.com \
--cc=jiaxi.chen@linux.intel.com \
--cc=jing2.liu@intel.com \
--cc=jmattson@google.com \
--cc=jthoughton@google.com \
--cc=junaids@google.com \
--cc=kai.huang@intel.com \
--cc=kvm@vger.kernel.org \
--cc=leobras@redhat.com \
--cc=like.xu.linux@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lirongqing@baidu.com \
--cc=maciej.szmigiero@oracle.com \
--cc=mhal@rbox.co \
--cc=michael.roth@amd.com \
--cc=mingo@redhat.com \
--cc=mizhang@google.com \
--cc=mlevitsk@redhat.com \
--cc=nikunj@amd.com \
--cc=pbonzini@redhat.com \
--cc=pdurrant@amazon.com \
--cc=peterx@redhat.com \
--cc=pgonda@google.com \
--cc=pshier@google.com \
--cc=ricarkol@google.com \
--cc=robert.hu@linux.intel.com \
--cc=sagis@google.com \
--cc=seanjc@google.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=vipinsh@google.com \
--cc=vkuznets@redhat.com \
--cc=wanpengli@tencent.com \
--cc=wei.w.wang@intel.com \
--cc=xiaoyao.li@intel.com \
--cc=yu.c.zhang@linux.intel.com \
--cc=zhenzhong.duan@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.