Re: [PATCH 5/7] genirq/affinity: move group_cpus_evenly() into lib/

Ming Lei
2021-08-16T01:04:43Z

Hello,

On Sun, Aug 15, 2021 at 01:01:07AM +0800, kernel test robot wrote:
> Hi Ming,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on tip/irq/core]
> [also build test WARNING on next-20210813]
> [cannot apply to block/for-next linux/master linus/master v5.14-rc5]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url: https://github.com/0day-ci/linux/commits/Ming-Lei/genirq-affinity-abstract-new-API-from-managed-irq-affinity-spread/20210814-203741
> base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 04c2721d3530f0723b4c922a8fa9f26b202a20de
> config: hexagon-randconfig-r041-20210814 (attached as .config)
> compiler: clang version 12.0.0
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://github.com/0day-ci/linux/commit/759f72186bfdd5c3ba8b53ac0749cf7ba930012c
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Ming-Lei/genirq-affinity-abstract-new-API-from-managed-irq-affinity-spread/20210814-203741
> git checkout 759f72186bfdd5c3ba8b53ac0749cf7ba930012c
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=hexagon
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All warnings (new ones prefixed by >>):
>
> >> lib/group_cpus.c:344:17: warning: no previous prototype for function 'group_cpus_evenly' [-Wmissing-prototypes]
> struct cpumask *group_cpus_evenly(unsigned int numgrps)
> ^
> lib/group_cpus.c:344:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
> struct cpumask *group_cpus_evenly(unsigned int numgrps)
> ^
> static
> 1 warning generated.
>
>
> vim +/group_cpus_evenly +344 lib/group_cpus.c
>
> 328
> 329 /**
> 330 * group_cpus_evenly - Group all CPUs evenly per NUMA/CPU locality
> 331 * @numgrps: number of groups
> 332 *
> 333 * Return: cpumask array if successful, NULL otherwise. And each element
> 334 * includes CPUs assigned to this group
> 335 *
> 336 * Try to put close CPUs from viewpoint of CPU and NUMA locality into
> 337 * same group, and run two-stage grouping:
> 338 * 1) allocate present CPUs on these groups evenly first
> 339 * 2) allocate other possible CPUs on these groups evenly
> 340 *
> 341 * We guarantee in the resulted grouping that all CPUs are covered, and
> 342 * no same CPU is assigned to different groups
> 343 */
> > 344 struct cpumask *group_cpus_evenly(unsigned int numgrps)

But the above symbol is exported via EXPORT_SYMBOL_GPL(), in current
kernel tree, we usually keep such exported symbol as global, or is there
some change in kernel coding style recently?

Thanks,
Ming