Re: [tip: x86/urgent] x86/build: Use obj-y to descend into arch/x86/virt/

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2024-03-30 at 09:57 +0000, tip-bot2 for Masahiro Yamada wrote:
> The following commit has been merged into the x86/urgent branch of tip:
> 
> Commit-ID:     3f1a9bc5d878004ed4bc3904e5cb9b7fb317fbe2
> Gitweb:        https://git.kernel.org/tip/3f1a9bc5d878004ed4bc3904e5cb9b7fb317fbe2
> Author:        Masahiro Yamada <masahiroy@xxxxxxxxxx>
> AuthorDate:    Sat, 30 Mar 2024 15:05:54 +09:00
> Committer:     Ingo Molnar <mingo@xxxxxxxxxx>
> CommitterDate: Sat, 30 Mar 2024 10:41:49 +01:00
> 
> x86/build: Use obj-y to descend into arch/x86/virt/
> 
> Commit c33621b4c5ad ("x86/virt/tdx: Wire up basic SEAMCALL functions")
> introduced a new instance of core-y instead of the standardized obj-y
> syntax.
> 
> X86 Makefiles descend into subdirectories of arch/x86/virt inconsistently;
> into arch/x86/virt/ via core-y defined in arch/x86/Makefile, but into
> arch/x86/virt/svm/ via obj-y defined in arch/x86/Kbuild.
> 
> This is problematic when you build a single object in parallel because
> multiple threads attempt to build the same file.
> 
>   $ make -j$(nproc) arch/x86/virt/vmx/tdx/seamcall.o
>     [ snip ]
>     AS      arch/x86/virt/vmx/tdx/seamcall.o
>     AS      arch/x86/virt/vmx/tdx/seamcall.o
>   fixdep: error opening file: arch/x86/virt/vmx/tdx/.seamcall.o.d: No such file or directory
>   make[4]: *** [scripts/Makefile.build:362: arch/x86/virt/vmx/tdx/seamcall.o] Error 2
> 
> Use the obj-y syntax, as it works correctly.
> 
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
> Link: https://lore.kernel.org/r/20240330060554.18524-1-masahiroy@xxxxxxxxxx

Thanks.  Should this be included into stable kernel?

As stated in the changelog, the problem starts to exist since commit

  c33621b4c5ad ("x86/virt/tdx: Wire up basic SEAMCALL functions")

> ---
>  arch/x86/Kbuild        | 2 +-
>  arch/x86/Makefile      | 2 --
>  arch/x86/virt/Makefile | 2 +-
>  3 files changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/x86/Kbuild b/arch/x86/Kbuild
> index 6a1f36d..cf0ad89 100644
> --- a/arch/x86/Kbuild
> +++ b/arch/x86/Kbuild
> @@ -28,7 +28,7 @@ obj-y += net/
>  
>  obj-$(CONFIG_KEXEC_FILE) += purgatory/
>  
> -obj-y += virt/svm/
> +obj-y += virt/
>  
>  # for cleaning
>  subdir- += boot tools
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 662d9d4..5ab93fc 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -251,8 +251,6 @@ archheaders:
>  
>  libs-y  += arch/x86/lib/
>  
> -core-y += arch/x86/virt/
> -
>  # drivers-y are linked after core-y
>  drivers-$(CONFIG_MATH_EMULATION) += arch/x86/math-emu/
>  drivers-$(CONFIG_PCI)            += arch/x86/pci/
> diff --git a/arch/x86/virt/Makefile b/arch/x86/virt/Makefile
> index 1e36502..ea343fc 100644
> --- a/arch/x86/virt/Makefile
> +++ b/arch/x86/virt/Makefile
> @@ -1,2 +1,2 @@
>  # SPDX-License-Identifier: GPL-2.0-only
> -obj-y	+= vmx/
> +obj-y	+= svm/ vmx/
> 






[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux