On Mon, Mar 13, 2023 at 11:20:45AM -0700, Sean Christopherson wrote: > On Mon, Mar 13, 2023, Oliver Upton wrote: > > 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. > > There's disconnect between what my brain is thinking and what I wrote. > > The intent of the "use kvm-x86/next" guideline is aimed to address series that > are almost entirely x86 specific, and only superficially touch common KVM and/or > other architectures. In my experience, the vast, vast majority of "multi-arch" > contributions from x86 fall into this category, i.e. aren't truly multi-arch in > nature. > > If I replace the above paragraph with this, does that address (or at least mitigate > to an acceptable level) your concerns? Inevitably there will still be series that > are wrongly based on kvm-x86, but I am more than happy to do the policing. I > obviously can't guarantee that I will be the first to run afoul of a "bad" series, > but I do think I can be quick enough to avoid shifting the burden to other > maintainers. And if I'm wrong on either front, you get to say "told you so" and > make me submit a patch of shame ;-) > > The only exception to using ``kvm-x86/next`` as the base is if a patch/series > is a multi-arch series, i.e. has non-trivial modifications to common KVM code > and/or has more than superficial changes to other architectures's code. Multi- nit: Maybe 'to another architecture's code', since English is an annoying language :) > arch patch/series should instead be based on a common, stable point in KVM's > history, e.g. the release candidate upon which ``kvm-x86 next`` is based. If > you're unsure whether a patch/series is truly multi-arch, err on the side of > caution and treat it as multi-arch, i.e. use a common base. LGTM, and sorry for whining without getting across the net effect I was hoping for in the language. > > > > > 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. > > Ah, I see where y'all are coming from. Yeah, I didn't intend for that type of > blanket rule, e.g. my comment about this being specifically for KVM x86 was > intended to clarify that this doc should NOT be used to determine how to handle > non-x86 code. My biggest worry was that whether intentional or not, folks will probably take what you've written out of context. Not as though I could completely blame the developer in that case, as we have no documented process for arm64 at the moment. -- Thanks, Oliver