Re: [rft, PATCH v1 1/1] cpumask: Don't use "proxy" headers

Yury Norov
2025-11-24T21:17:53Z

On Mon, Nov 24, 2025 at 09:39:59PM +0100, Andy Shevchenko wrote:
> Update header inclusions to follow IWYU (Include What You Use)
> principle.
>
> Note that kernel.h is discouraged to be included as it's written
> at the top of that file.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>
> Not fully compile tested, might give some compilation errors
>
> arch/x86/include/asm/cpumask.h | 2 ++
> include/linux/cpumask.h | 12 +++++++-----
> 2 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/include/asm/cpumask.h b/arch/x86/include/asm/cpumask.h
> index 70f6b60ad67b..9df9e9cde670 100644
> --- a/arch/x86/include/asm/cpumask.h
> +++ b/arch/x86/include/asm/cpumask.h
> @@ -2,6 +2,8 @@
> #ifndef _ASM_X86_CPUMASK_H
> #define _ASM_X86_CPUMASK_H
> #ifndef __ASSEMBLER__
> +
> +#include <linux/compiler.h>
> #include <linux/cpumask.h>
>
> extern void setup_cpu_local_masks(void);
> diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
> index 66694ee8d86e..6abf3d7e9435 100644
> --- a/include/linux/cpumask.h
> +++ b/include/linux/cpumask.h
> @@ -7,14 +7,16 @@
> * set of CPUs in a system, one bit position per CPU number. In general,
> * only nr_cpu_ids (<= NR_CPUS) bits are valid.
> */
> -#include <linux/cleanup.h>
> -#include <linux/kernel.h>

I recall, removing kernel.h from cpumasks was a troublesome exercise
back then. But it may be my false memory.

Added this for testing in bitmap-for-next.

Thanks,
Yury

> -#include <linux/bitmap.h>
> -#include <linux/cpumask_types.h>
> #include <linux/atomic.h>
> -#include <linux/bug.h>
> +#include <linux/bitmap.h>
> +#include <linux/cleanup.h>
> +#include <linux/cpumask_types.h>
> #include <linux/gfp_types.h>
> #include <linux/numa.h>
> +#include <linux/threads.h>
> +#include <linux/types.h>
> +
> +#include <asm/bug.h>
>
> /**
> * cpumask_pr_args - printf args to output a cpumask
> --
> 2.50.1