Re: [PATCH bpf] cacheinfo: move get_cpu_cacheinfo_id() back out

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

 



On Sat, Nov 20, 2021 at 6:55 AM Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
>
> This commit more or less reverts commit 709c4362725a ("cacheinfo:
> Move resctrl's get_cache_id() to the cacheinfo header file").
>
> There are no users of the static inline helper outside of resctrl/core.c
> and cpu.h is a pretty heavy include, it pulls in device.h etc. This
> trips up architectures like riscv which want to access cacheinfo
> in low level headers like elf.h.
>
> Link: https://lore.kernel.org/all/20211120035253.72074-1-kuba@xxxxxxxxxx/
> Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
> ---
> CC: fenghua.yu@xxxxxxxxx
> CC: reinette.chatre@xxxxxxxxx
> CC: tglx@xxxxxxxxxxxxx
> CC: mingo@xxxxxxxxxx
> CC: bp@xxxxxxxxx
> CC: dave.hansen@xxxxxxxxxxxxxxx
> CC: x86@xxxxxxxxxx
> CC: hpa@xxxxxxxxx
> CC: paul.walmsley@xxxxxxxxxx
> CC: palmer@xxxxxxxxxxx
> CC: aou@xxxxxxxxxxxxxxxxx
> CC: peterz@xxxxxxxxxxxxx
> CC: will@xxxxxxxxxx
> CC: linux-riscv@xxxxxxxxxxxxxxxxxxx
>
> x86 resctrl folks, does this look okay?
>
> I'd like to do some bpf header cleanups in -next which this is blocking.
> How would you like to handle that? This change looks entirely harmless,
> can I get an ack and take this via bpf/netdev to Linus ASAP so it
> propagates to all trees?

Does this patch target the bpf tree, or the bpf-next tree? If we want to unblock
bpf header cleanup in -next, we can simply include it in a set for bpf-next.

Thanks,
Song


> ---
>  arch/x86/kernel/cpu/resctrl/core.c | 20 ++++++++++++++++++++
>  include/linux/cacheinfo.h          | 21 ---------------------
>  2 files changed, 20 insertions(+), 21 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
> index bb1c3f5f60c8..3c0b2c34be23 100644
> --- a/arch/x86/kernel/cpu/resctrl/core.c
> +++ b/arch/x86/kernel/cpu/resctrl/core.c
> @@ -284,6 +284,26 @@ static void rdt_get_cdp_l2_config(void)
>         rdt_get_cdp_config(RDT_RESOURCE_L2);
>  }
>
> +/*
> + * Get the id of the cache associated with @cpu at level @level.
> + * cpuhp lock must be held.
> + */
> +static int get_cpu_cacheinfo_id(int cpu, int level)
> +{
> +       struct cpu_cacheinfo *ci = get_cpu_cacheinfo(cpu);
> +       int i;
> +
> +       for (i = 0; i < ci->num_leaves; i++) {
> +               if (ci->info_list[i].level == level) {
> +                       if (ci->info_list[i].attributes & CACHE_ID)
> +                               return ci->info_list[i].id;
> +                       return -1;
> +               }
> +       }
> +
> +       return -1;
> +}
> +
>  static void
>  mba_wrmsr_amd(struct rdt_domain *d, struct msr_param *m, struct rdt_resource *r)
>  {
> diff --git a/include/linux/cacheinfo.h b/include/linux/cacheinfo.h
> index 2f909ed084c6..c8c71eea237d 100644
> --- a/include/linux/cacheinfo.h
> +++ b/include/linux/cacheinfo.h
> @@ -3,7 +3,6 @@
>  #define _LINUX_CACHEINFO_H
>
>  #include <linux/bitops.h>
> -#include <linux/cpu.h>
>  #include <linux/cpumask.h>
>  #include <linux/smp.h>
>
> @@ -102,24 +101,4 @@ int acpi_find_last_cache_level(unsigned int cpu);
>
>  const struct attribute_group *cache_get_priv_group(struct cacheinfo *this_leaf);
>
> -/*
> - * Get the id of the cache associated with @cpu at level @level.
> - * cpuhp lock must be held.
> - */
> -static inline int get_cpu_cacheinfo_id(int cpu, int level)
> -{
> -       struct cpu_cacheinfo *ci = get_cpu_cacheinfo(cpu);
> -       int i;
> -
> -       for (i = 0; i < ci->num_leaves; i++) {
> -               if (ci->info_list[i].level == level) {
> -                       if (ci->info_list[i].attributes & CACHE_ID)
> -                               return ci->info_list[i].id;
> -                       return -1;
> -               }
> -       }
> -
> -       return -1;
> -}
> -
>  #endif /* _LINUX_CACHEINFO_H */
> --
> 2.31.1
>



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux