On Wed, 2026-08-12 at 09:47 -1000, Tejun Heo wrote:
> alpha requires percpu variables in modules to be defined as weak so that the
> compiler generates GOT based external references for them. This puts two
> extra restrictions on percpu variable definitions. The symbol must be
> globally unique even when static and a static percpu variable can't be
> defined inside a function. DEBUG_FORCE_WEAK_PER_CPU exists to give generic
> code build coverage for these restrictions without building for alpha.
> 
> MEM_ALLOC_PROFILING defines a static percpu counter at each allocation call
> site and thus can't be built with weak percpu definitions, so it depends on
> !DEBUG_FORCE_WEAK_PER_CPU. As allmodconfig enables DEBUG_FORCE_WEAK_PER_CPU,
> this knocks MEM_ALLOC_PROFILING out of allmodconfig build coverage.
> 
> allmodconfig coverage for MEM_ALLOC_PROFILING is worth more than build
> coverage for restrictions which only matter to alpha module builds. Drop
> DEBUG_FORCE_WEAK_PER_CPU. Restriction violations will now show up only on
> alpha builds.
> 
> Reported-by: Andrew Morton <[email protected]>
> Signed-off-by: Tejun Heo <[email protected]>
> Cc: Suren Baghdasaryan <[email protected]>

> --- a/include/rv/da_monitor.h
> +++ b/include/rv/da_monitor.h
> @@ -24,7 +24,7 @@
>  
>  /*
>   * Per-cpu variables require a unique name although static in some
> - * configurations (e.g. CONFIG_DEBUG_FORCE_WEAK_PER_CPU or alpha modules).
> + * configurations (e.g. alpha modules).
>   */
>  #define DA_MON_NAME CONCATENATE(da_mon_, MONITOR_NAME)

For the tiny change in the RV header:

Acked-by: Gabriele Monaco <[email protected]>


Reply via email to