From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cornelia Huck Subject: Re: [PATCH] KVM: export and iif KVM is supported Date: Wed, 6 Feb 2019 11:58:42 +0100 Message-ID: <20190206115842.2cd86269.cohuck@redhat.com> References: <1549432390-11457-1-git-send-email-yamada.masahiro@socionext.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1549432390-11457-1-git-send-email-yamada.masahiro@socionext.com> Sender: linux-kernel-owner@vger.kernel.org To: Masahiro Yamada Cc: Paolo Bonzini , Radim Kr___m______ , kvm@vger.kernel.org, Christoph Hellwig , Joerg Roedel , Christoffer Dall , Marc Zyngier , James Hogan , linux-mips@vger.kernel.org, Paul Mackerras , kvm-ppc@vger.kernel.org, Christian Borntraeger , Janosch Frank , David Hildenbrand , linux-kernel@vger.kernel.org, linux-arch , Sam Ravnborg List-Id: linux-arch.vger.kernel.org On Wed, 6 Feb 2019 14:53:10 +0900 Masahiro Yamada wrote: > I do not see any consistency about headers_install of > and . > > According to my analysis of Linux 5.0-rc5, there are 3 groups: > > [1] Both and are exported > > alpha, arm, hexagon, mips, powerpc, s390, sparc, x86 > > [2] is exported, but is not > > arc, arm64, c6x, h8300, ia64, m68k, microblaze, nios2, openrisc > > [3] Neither nor is exported > > csky, nds32, riscv > > This does not match to the actual KVM support. At least, [2] is > half-baked. > > Nor do arch maintainers look like they care about this. For example, > commit 0add53713b1c ("microblaze: Add missing kvm_para.h to Kbuild") > exported to user-space in order to fix an in-kernel > build error. > > We have two ways to make this consistent: > > [A] export both and for all > architectures, irrespective of the KVM support > > [B] Match the header export of and > to the KVM support > > My first attempt was [A] because the code looks better, but Paolo > showed preference in [B]. > > https://patchwork.kernel.org/patch/10794919/ > > So, this commit is the implementation of [B]. > > For most architectures, was moved to the kernel-space. > I changed include/uapi/linux/Kbuild so that it checks generated > asm/kvm_para.h as well as check-in ones. > > After this commit, there will be two groups: > > [1] Both and are exported > > arm arm64 mips powerpc s390 x86 > > [2] Neither nor is exported > > alpha arc c6x csky h8300 hexagon ia64 m68k microblaze nds32 nios2 > openrisc parisc riscv sh sparc unicore32 xtensa > > Signed-off-by: Masahiro Yamada > --- > > The alternative solution [A] is available at: > https://patchwork.kernel.org/patch/10794919/ > > Comparing the code diff, I personally prefer [A]... I think both are much better than the status quo. This approach makes the diff a bit uglier, but the end result looks cleaner to me. Acked-by: Cornelia Huck > > > arch/alpha/include/asm/Kbuild | 1 + > arch/alpha/include/uapi/asm/kvm_para.h | 2 -- > arch/arc/include/asm/Kbuild | 1 + > arch/arc/include/uapi/asm/Kbuild | 1 - > arch/arm/include/uapi/asm/Kbuild | 1 + > arch/arm/include/uapi/asm/kvm_para.h | 2 -- > arch/c6x/include/asm/Kbuild | 1 + > arch/c6x/include/uapi/asm/Kbuild | 1 - > arch/h8300/include/asm/Kbuild | 1 + > arch/h8300/include/uapi/asm/Kbuild | 1 - > arch/hexagon/include/asm/Kbuild | 1 + > arch/hexagon/include/uapi/asm/kvm_para.h | 2 -- > arch/ia64/include/asm/Kbuild | 1 + > arch/ia64/include/uapi/asm/Kbuild | 1 - > arch/m68k/include/asm/Kbuild | 1 + > arch/m68k/include/uapi/asm/Kbuild | 1 - > arch/microblaze/include/asm/Kbuild | 1 + > arch/microblaze/include/uapi/asm/Kbuild | 1 - > arch/mips/include/uapi/asm/Kbuild | 1 + > arch/mips/include/uapi/asm/kvm_para.h | 5 ----- > arch/nios2/include/asm/Kbuild | 1 + > arch/nios2/include/uapi/asm/Kbuild | 1 - > arch/openrisc/include/asm/Kbuild | 1 + > arch/openrisc/include/uapi/asm/Kbuild | 1 - > arch/parisc/include/asm/Kbuild | 1 + > arch/parisc/include/uapi/asm/Kbuild | 1 - > arch/s390/include/uapi/asm/Kbuild | 1 + > arch/s390/include/uapi/asm/kvm_para.h | 8 -------- > arch/sh/include/asm/Kbuild | 1 + > arch/sh/include/uapi/asm/Kbuild | 1 - > arch/sparc/include/asm/Kbuild | 1 + > arch/sparc/include/uapi/asm/kvm_para.h | 2 -- > arch/unicore32/include/asm/Kbuild | 1 + > arch/unicore32/include/uapi/asm/Kbuild | 1 - > arch/xtensa/include/asm/Kbuild | 1 + > arch/xtensa/include/uapi/asm/Kbuild | 1 - > include/uapi/linux/Kbuild | 2 ++ > 37 files changed, 20 insertions(+), 33 deletions(-) > delete mode 100644 arch/alpha/include/uapi/asm/kvm_para.h > delete mode 100644 arch/arm/include/uapi/asm/kvm_para.h > delete mode 100644 arch/hexagon/include/uapi/asm/kvm_para.h > delete mode 100644 arch/mips/include/uapi/asm/kvm_para.h > delete mode 100644 arch/s390/include/uapi/asm/kvm_para.h > delete mode 100644 arch/sparc/include/uapi/asm/kvm_para.h From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:43684 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727807AbfBFK6w (ORCPT ); Wed, 6 Feb 2019 05:58:52 -0500 Date: Wed, 6 Feb 2019 11:58:42 +0100 From: Cornelia Huck Subject: Re: [PATCH] KVM: export and iif KVM is supported Message-ID: <20190206115842.2cd86269.cohuck@redhat.com> In-Reply-To: <1549432390-11457-1-git-send-email-yamada.masahiro@socionext.com> References: <1549432390-11457-1-git-send-email-yamada.masahiro@socionext.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Masahiro Yamada Cc: Paolo Bonzini , Radim Kr___m______ , kvm@vger.kernel.org, Christoph Hellwig , Joerg Roedel , Christoffer Dall , Marc Zyngier , James Hogan , linux-mips@vger.kernel.org, Paul Mackerras , kvm-ppc@vger.kernel.org, Christian Borntraeger , Janosch Frank , David Hildenbrand , linux-kernel@vger.kernel.org, linux-arch , Sam Ravnborg Message-ID: <20190206105842.f7jVRjHMCq4xLai9_a8_JUYXgiOyZ_pXu5qh79_9674@z> On Wed, 6 Feb 2019 14:53:10 +0900 Masahiro Yamada wrote: > I do not see any consistency about headers_install of > and . > > According to my analysis of Linux 5.0-rc5, there are 3 groups: > > [1] Both and are exported > > alpha, arm, hexagon, mips, powerpc, s390, sparc, x86 > > [2] is exported, but is not > > arc, arm64, c6x, h8300, ia64, m68k, microblaze, nios2, openrisc > > [3] Neither nor is exported > > csky, nds32, riscv > > This does not match to the actual KVM support. At least, [2] is > half-baked. > > Nor do arch maintainers look like they care about this. For example, > commit 0add53713b1c ("microblaze: Add missing kvm_para.h to Kbuild") > exported to user-space in order to fix an in-kernel > build error. > > We have two ways to make this consistent: > > [A] export both and for all > architectures, irrespective of the KVM support > > [B] Match the header export of and > to the KVM support > > My first attempt was [A] because the code looks better, but Paolo > showed preference in [B]. > > https://patchwork.kernel.org/patch/10794919/ > > So, this commit is the implementation of [B]. > > For most architectures, was moved to the kernel-space. > I changed include/uapi/linux/Kbuild so that it checks generated > asm/kvm_para.h as well as check-in ones. > > After this commit, there will be two groups: > > [1] Both and are exported > > arm arm64 mips powerpc s390 x86 > > [2] Neither nor is exported > > alpha arc c6x csky h8300 hexagon ia64 m68k microblaze nds32 nios2 > openrisc parisc riscv sh sparc unicore32 xtensa > > Signed-off-by: Masahiro Yamada > --- > > The alternative solution [A] is available at: > https://patchwork.kernel.org/patch/10794919/ > > Comparing the code diff, I personally prefer [A]... I think both are much better than the status quo. This approach makes the diff a bit uglier, but the end result looks cleaner to me. Acked-by: Cornelia Huck > > > arch/alpha/include/asm/Kbuild | 1 + > arch/alpha/include/uapi/asm/kvm_para.h | 2 -- > arch/arc/include/asm/Kbuild | 1 + > arch/arc/include/uapi/asm/Kbuild | 1 - > arch/arm/include/uapi/asm/Kbuild | 1 + > arch/arm/include/uapi/asm/kvm_para.h | 2 -- > arch/c6x/include/asm/Kbuild | 1 + > arch/c6x/include/uapi/asm/Kbuild | 1 - > arch/h8300/include/asm/Kbuild | 1 + > arch/h8300/include/uapi/asm/Kbuild | 1 - > arch/hexagon/include/asm/Kbuild | 1 + > arch/hexagon/include/uapi/asm/kvm_para.h | 2 -- > arch/ia64/include/asm/Kbuild | 1 + > arch/ia64/include/uapi/asm/Kbuild | 1 - > arch/m68k/include/asm/Kbuild | 1 + > arch/m68k/include/uapi/asm/Kbuild | 1 - > arch/microblaze/include/asm/Kbuild | 1 + > arch/microblaze/include/uapi/asm/Kbuild | 1 - > arch/mips/include/uapi/asm/Kbuild | 1 + > arch/mips/include/uapi/asm/kvm_para.h | 5 ----- > arch/nios2/include/asm/Kbuild | 1 + > arch/nios2/include/uapi/asm/Kbuild | 1 - > arch/openrisc/include/asm/Kbuild | 1 + > arch/openrisc/include/uapi/asm/Kbuild | 1 - > arch/parisc/include/asm/Kbuild | 1 + > arch/parisc/include/uapi/asm/Kbuild | 1 - > arch/s390/include/uapi/asm/Kbuild | 1 + > arch/s390/include/uapi/asm/kvm_para.h | 8 -------- > arch/sh/include/asm/Kbuild | 1 + > arch/sh/include/uapi/asm/Kbuild | 1 - > arch/sparc/include/asm/Kbuild | 1 + > arch/sparc/include/uapi/asm/kvm_para.h | 2 -- > arch/unicore32/include/asm/Kbuild | 1 + > arch/unicore32/include/uapi/asm/Kbuild | 1 - > arch/xtensa/include/asm/Kbuild | 1 + > arch/xtensa/include/uapi/asm/Kbuild | 1 - > include/uapi/linux/Kbuild | 2 ++ > 37 files changed, 20 insertions(+), 33 deletions(-) > delete mode 100644 arch/alpha/include/uapi/asm/kvm_para.h > delete mode 100644 arch/arm/include/uapi/asm/kvm_para.h > delete mode 100644 arch/hexagon/include/uapi/asm/kvm_para.h > delete mode 100644 arch/mips/include/uapi/asm/kvm_para.h > delete mode 100644 arch/s390/include/uapi/asm/kvm_para.h > delete mode 100644 arch/sparc/include/uapi/asm/kvm_para.h