Hi, On Wed, 12 Oct 2022, Palmer Dabbelt wrote: > From: Palmer Dabbelt <palmer@xxxxxxxxxxxx> > > The patch acceptance policy forbids accepting support for non-standard > behavior. This policy was written in order to both steer implementers > towards the standards and to avoid coupling the upstream kernel too > tightly to vendor-specific features. Those were good goals, but in > practice the policy just isn't working: every RISC-V system we have > needs vendor-specific behavior in the kernel and we end up taking that > support which violates the policy. That's confusing for contributors, > which is the main reason we have a written policy in the first place. > > So let's just start taking code for vendor-defined behavior. I think I understand the motivation behind this patch: to align the stated patch acceptance policy with the actual maintenance practice for arch/riscv. Along those lines, how about the following tweaks, based on your original patch? Probably the most significant proposed change from what you wrote is to temporarily drop the section about accepting patches for hardware that doesn't yet exist. I know arch/x86 does this, but my recollection is that the maintainers there started doing that after the key x86 hardware manufacturers established a track record of consistently releasing mass-market hardware that implemented what they promised. Not sure we're at that point with RISC-V yet. We'll get there at some point, but maybe we can add that clause back in once that happens? - Paul From: Paul Walmsley <paul.walmsley@xxxxxxxxxx> Date: Fri, 18 Nov 2022 02:16:17 -0600 Subject: [PATCH] Documentation: RISC-V: Allow patches for widely available hardware This patch, based on an earlier patch from Palmer, updates the patch acceptance policy to note that the maintainers may also accept patches for RISC-V hardware that contains features that may not be strictly RISC-V-compliant, but which is widely available. The intention here is to align the stated policy with the de-facto upstream Linux policy. Link: https://lore.kernel.org/linux-riscv/20221013045619.18906-3-palmer@xxxxxxxxxxxx/ # Palmer's original patch Cc: Palmer Dabbelt <palmer@xxxxxxxxxxxx> Signed-off-by: Paul Walmsley <paul.walmsley@xxxxxxxxxx> --- Documentation/riscv/patch-acceptance.rst | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Documentation/riscv/patch-acceptance.rst b/Documentation/riscv/patch-acceptance.rst index 5da6f9b273d6..2e3f9ecdd977 100644 --- a/Documentation/riscv/patch-acceptance.rst +++ b/Documentation/riscv/patch-acceptance.rst @@ -29,7 +29,12 @@ their own custom extensions. These custom extensions aren't required to go through any review or ratification process by the RISC-V Foundation. To avoid the maintenance complexity and potential performance impact of adding kernel code for implementor-specific -RISC-V extensions, we'll only accept patches for extensions that -have been officially frozen or ratified by the RISC-V Foundation. -(Implementors, may, of course, maintain their own Linux kernel trees -containing code for any custom extensions that they wish.) +RISC-V extensions, we'll only consider patches for extensions that +either: + +- Have been officially frozen or ratified by the RISC-V Foundation, or +- Have been implemented in hardware that is widely available, per standard + Linux practice + +(Implementors, may, of course, maintain their own Linux kernel +trees containing code for any custom extensions that they wish.) -- 2.38.1