2023-03-15 08:49:58

by Dave Chinner

[permalink] [raw]
Subject: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()

From: Dave Chinner <[email protected]>

percpu_counter_sum_all() is now redundant as the race condition it
was invented to handle is now dealt with by percpu_counter_sum()
directly and all users of percpu_counter_sum_all() have been
removed.

Remove it.

This effectively reverts the changes made in f689054aace2
("percpu_counter: add percpu_counter_sum_all interface") except for
the cpumask iteration that fixes percpu_counter_sum() made earlier
in this series.

Signed-off-by: Dave Chinner <[email protected]>
---
include/linux/percpu_counter.h | 6 -----
lib/percpu_counter.c | 40 ++++++++++------------------------
2 files changed, 11 insertions(+), 35 deletions(-)

diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h
index 521a733e21a9..75b73c83bc9d 100644
--- a/include/linux/percpu_counter.h
+++ b/include/linux/percpu_counter.h
@@ -45,7 +45,6 @@ void percpu_counter_set(struct percpu_counter *fbc, s64 amount);
void percpu_counter_add_batch(struct percpu_counter *fbc, s64 amount,
s32 batch);
s64 __percpu_counter_sum(struct percpu_counter *fbc);
-s64 percpu_counter_sum_all(struct percpu_counter *fbc);
int __percpu_counter_compare(struct percpu_counter *fbc, s64 rhs, s32 batch);
void percpu_counter_sync(struct percpu_counter *fbc);

@@ -196,11 +195,6 @@ static inline s64 percpu_counter_sum(struct percpu_counter *fbc)
return percpu_counter_read(fbc);
}

-static inline s64 percpu_counter_sum_all(struct percpu_counter *fbc)
-{
- return percpu_counter_read(fbc);
-}
-
static inline bool percpu_counter_initialized(struct percpu_counter *fbc)
{
return true;
diff --git a/lib/percpu_counter.c b/lib/percpu_counter.c
index 0e096311e0c0..5004463c4f9f 100644
--- a/lib/percpu_counter.c
+++ b/lib/percpu_counter.c
@@ -122,23 +122,6 @@ void percpu_counter_sync(struct percpu_counter *fbc)
}
EXPORT_SYMBOL(percpu_counter_sync);

-static s64 __percpu_counter_sum_mask(struct percpu_counter *fbc,
- const struct cpumask *cpu_mask)
-{
- s64 ret;
- int cpu;
- unsigned long flags;
-
- raw_spin_lock_irqsave(&fbc->lock, flags);
- ret = fbc->count;
- for_each_cpu_or(cpu, cpu_online_mask, cpu_mask) {
- s32 *pcount = per_cpu_ptr(fbc->counters, cpu);
- ret += *pcount;
- }
- raw_spin_unlock_irqrestore(&fbc->lock, flags);
- return ret;
-}
-
/*
* Add up all the per-cpu counts, return the result. This is a more accurate
* but much slower version of percpu_counter_read_positive().
@@ -153,22 +136,21 @@ static s64 __percpu_counter_sum_mask(struct percpu_counter *fbc,
*/
s64 __percpu_counter_sum(struct percpu_counter *fbc)
{
+ s64 ret;
+ int cpu;
+ unsigned long flags;

- return __percpu_counter_sum_mask(fbc, cpu_dying_mask);
+ raw_spin_lock_irqsave(&fbc->lock, flags);
+ ret = fbc->count;
+ for_each_cpu_or(cpu, cpu_online_mask, cpu_dying_mask) {
+ s32 *pcount = per_cpu_ptr(fbc->counters, cpu);
+ ret += *pcount;
+ }
+ raw_spin_unlock_irqrestore(&fbc->lock, flags);
+ return ret;
}
EXPORT_SYMBOL(__percpu_counter_sum);

-/*
- * This is slower version of percpu_counter_sum as it traverses all possible
- * cpus. Use this only in the cases where accurate data is needed in the
- * presense of CPUs getting offlined.
- */
-s64 percpu_counter_sum_all(struct percpu_counter *fbc)
-{
- return __percpu_counter_sum_mask(fbc, cpu_possible_mask);
-}
-EXPORT_SYMBOL(percpu_counter_sum_all);
-
int __percpu_counter_init(struct percpu_counter *fbc, s64 amount, gfp_t gfp,
struct lock_class_key *key)
{
--
2.39.2



2023-03-15 19:24:33

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()

Hi Dave,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.3-rc2 next-20230315]
[cannot apply to dennis-percpu/for-next]
[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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Dave-Chinner/cpumask-introduce-for_each_cpu_or/20230315-165202
patch link: https://lore.kernel.org/r/20230315084938.2544737-5-david%40fromorbit.com
patch subject: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()
config: i386-randconfig-a005 (https://download.01.org/0day-ci/archive/20230316/[email protected]/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/8360dcb55f1eb08fe7a1f457f3b99bef8e306c8b
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Dave-Chinner/cpumask-introduce-for_each_cpu_or/20230315-165202
git checkout 8360dcb55f1eb08fe7a1f457f3b99bef8e306c8b
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=i386 olddefconfig
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/hwmon/ fs/xfs/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email protected]>
| Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

In file included from include/linux/string.h:5,
from include/linux/uuid.h:11,
from fs/xfs/xfs_linux.h:10,
from fs/xfs/xfs.h:22,
from fs/xfs/xfs_super.c:7:
fs/xfs/xfs_super.c: In function 'xfs_destroy_percpu_counters':
>> fs/xfs/xfs_super.c:1079:16: error: implicit declaration of function 'percpu_counter_sum_all'; did you mean 'percpu_counter_sum'? [-Werror=implicit-function-declaration]
1079 | percpu_counter_sum_all(&mp->m_delalloc_blks) == 0);
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:77:45: note: in definition of macro 'likely'
77 | # define likely(x) __builtin_expect(!!(x), 1)
| ^
fs/xfs/xfs_super.c:1078:9: note: in expansion of macro 'ASSERT'
1078 | ASSERT(xfs_is_shutdown(mp) ||
| ^~~~~~
cc1: some warnings being treated as errors


vim +1079 fs/xfs/xfs_super.c

8757c38f2cf6e5 Ian Kent 2019-11-04 1070
8757c38f2cf6e5 Ian Kent 2019-11-04 1071 static void
8757c38f2cf6e5 Ian Kent 2019-11-04 1072 xfs_destroy_percpu_counters(
8757c38f2cf6e5 Ian Kent 2019-11-04 1073 struct xfs_mount *mp)
8757c38f2cf6e5 Ian Kent 2019-11-04 1074 {
8757c38f2cf6e5 Ian Kent 2019-11-04 1075 percpu_counter_destroy(&mp->m_icount);
8757c38f2cf6e5 Ian Kent 2019-11-04 1076 percpu_counter_destroy(&mp->m_ifree);
8757c38f2cf6e5 Ian Kent 2019-11-04 1077 percpu_counter_destroy(&mp->m_fdblocks);
75c8c50fa16a23 Dave Chinner 2021-08-18 1078 ASSERT(xfs_is_shutdown(mp) ||
c35278f526edf1 Ye Bin 2023-03-14 @1079 percpu_counter_sum_all(&mp->m_delalloc_blks) == 0);
8757c38f2cf6e5 Ian Kent 2019-11-04 1080 percpu_counter_destroy(&mp->m_delalloc_blks);
2229276c528326 Darrick J. Wong 2022-04-12 1081 percpu_counter_destroy(&mp->m_frextents);
8757c38f2cf6e5 Ian Kent 2019-11-04 1082 }
8757c38f2cf6e5 Ian Kent 2019-11-04 1083

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

2023-03-15 20:14:13

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()

Hi Dave,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.3-rc2 next-20230315]
[cannot apply to dennis-percpu/for-next]
[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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Dave-Chinner/cpumask-introduce-for_each_cpu_or/20230315-165202
patch link: https://lore.kernel.org/r/20230315084938.2544737-5-david%40fromorbit.com
patch subject: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()
config: riscv-randconfig-r042-20230313 (https://download.01.org/0day-ci/archive/20230316/[email protected]/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7)
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
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/8360dcb55f1eb08fe7a1f457f3b99bef8e306c8b
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Dave-Chinner/cpumask-introduce-for_each_cpu_or/20230315-165202
git checkout 8360dcb55f1eb08fe7a1f457f3b99bef8e306c8b
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash fs/xfs/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email protected]>
| Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> fs/xfs/xfs_super.c:1079:9: error: call to undeclared function 'percpu_counter_sum_all'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
percpu_counter_sum_all(&mp->m_delalloc_blks) == 0);
^
fs/xfs/xfs_super.c:1079:9: note: did you mean 'percpu_counter_sum'?
include/linux/percpu_counter.h:193:19: note: 'percpu_counter_sum' declared here
static inline s64 percpu_counter_sum(struct percpu_counter *fbc)
^
1 error generated.


vim +/percpu_counter_sum_all +1079 fs/xfs/xfs_super.c

8757c38f2cf6e5 Ian Kent 2019-11-04 1070
8757c38f2cf6e5 Ian Kent 2019-11-04 1071 static void
8757c38f2cf6e5 Ian Kent 2019-11-04 1072 xfs_destroy_percpu_counters(
8757c38f2cf6e5 Ian Kent 2019-11-04 1073 struct xfs_mount *mp)
8757c38f2cf6e5 Ian Kent 2019-11-04 1074 {
8757c38f2cf6e5 Ian Kent 2019-11-04 1075 percpu_counter_destroy(&mp->m_icount);
8757c38f2cf6e5 Ian Kent 2019-11-04 1076 percpu_counter_destroy(&mp->m_ifree);
8757c38f2cf6e5 Ian Kent 2019-11-04 1077 percpu_counter_destroy(&mp->m_fdblocks);
75c8c50fa16a23 Dave Chinner 2021-08-18 1078 ASSERT(xfs_is_shutdown(mp) ||
c35278f526edf1 Ye Bin 2023-03-14 @1079 percpu_counter_sum_all(&mp->m_delalloc_blks) == 0);
8757c38f2cf6e5 Ian Kent 2019-11-04 1080 percpu_counter_destroy(&mp->m_delalloc_blks);
2229276c528326 Darrick J. Wong 2022-04-12 1081 percpu_counter_destroy(&mp->m_frextents);
8757c38f2cf6e5 Ian Kent 2019-11-04 1082 }
8757c38f2cf6e5 Ian Kent 2019-11-04 1083

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

2023-03-15 20:56:03

by Dave Chinner

[permalink] [raw]
Subject: Re: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()

On Thu, Mar 16, 2023 at 03:22:31AM +0800, kernel test robot wrote:
> Hi Dave,
>
> Thank you for the patch! Yet something to improve:

No, ithere is nothing wrong with my patch series, this is something
for _you_ to improve.

> [auto build test ERROR on linus/master]
> [also build test ERROR on v6.3-rc2 next-20230315]
> [cannot apply to dennis-percpu/for-next]
> [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#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Dave-Chinner/cpumask-introduce-for_each_cpu_or/20230315-165202
> patch link: https://lore.kernel.org/r/20230315084938.2544737-5-david%40fromorbit.com
> patch subject: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()
> config: i386-randconfig-a005 (https://download.01.org/0day-ci/archive/20230316/[email protected]/config)
> compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
> reproduce (this is a W=1 build):
> # https://github.com/intel-lab-lkp/linux/commit/8360dcb55f1eb08fe7a1f457f3b99bef8e306c8b
> git remote add linux-review https://github.com/intel-lab-lkp/linux
> git fetch --no-tags linux-review Dave-Chinner/cpumask-introduce-for_each_cpu_or/20230315-165202
> git checkout 8360dcb55f1eb08fe7a1f457f3b99bef8e306c8b
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> make W=1 O=build_dir ARCH=i386 olddefconfig
> make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/hwmon/ fs/xfs/
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <[email protected]>
> | Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> All errors (new ones prefixed by >>):
>
> In file included from include/linux/string.h:5,
> from include/linux/uuid.h:11,
> from fs/xfs/xfs_linux.h:10,
> from fs/xfs/xfs.h:22,
> from fs/xfs/xfs_super.c:7:
> fs/xfs/xfs_super.c: In function 'xfs_destroy_percpu_counters':
> >> fs/xfs/xfs_super.c:1079:16: error: implicit declaration of function 'percpu_counter_sum_all'; did you mean 'percpu_counter_sum'? [-Werror=implicit-function-declaration]
> 1079 | percpu_counter_sum_all(&mp->m_delalloc_blks) == 0);
> | ^~~~~~~~~~~~~~~~~~~~~~
> include/linux/compiler.h:77:45: note: in definition of macro 'likely'
> 77 | # define likely(x) __builtin_expect(!!(x), 1)
> | ^
> fs/xfs/xfs_super.c:1078:9: note: in expansion of macro 'ASSERT'
> 1078 | ASSERT(xfs_is_shutdown(mp) ||
> | ^~~~~~
> cc1: some warnings being treated as errors
>
>
> vim +1079 fs/xfs/xfs_super.c
>
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1070
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1071 static void
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1072 xfs_destroy_percpu_counters(
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1073 struct xfs_mount *mp)
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1074 {
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1075 percpu_counter_destroy(&mp->m_icount);
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1076 percpu_counter_destroy(&mp->m_ifree);
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1077 percpu_counter_destroy(&mp->m_fdblocks);
> 75c8c50fa16a23 Dave Chinner 2021-08-18 1078 ASSERT(xfs_is_shutdown(mp) ||
> c35278f526edf1 Ye Bin 2023-03-14 @1079 percpu_counter_sum_all(&mp->m_delalloc_blks) == 0);

This change has not been committed to any tree that I am aware of.
It was only posted to the XFS list yesterday, and I effectively
NACK'd it and wrote this patchset instead to fix the issue.

IOWs, if -anyone- has actually committed this change to add
percpu_counter_sum_all() to XFS, they've done the wrong thing.
Hence this build failure is a robot issue, not a problem with my
patch series.

-Dave.
--
Dave Chinner
[email protected]

2023-03-15 21:22:02

by Darrick J. Wong

[permalink] [raw]
Subject: Re: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()

On Thu, Mar 16, 2023 at 04:14:04AM +0800, kernel test robot wrote:
> Hi Dave,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on linus/master]
> [also build test ERROR on v6.3-rc2 next-20230315]
> [cannot apply to dennis-percpu/for-next]
> [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#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Dave-Chinner/cpumask-introduce-for_each_cpu_or/20230315-165202
> patch link: https://lore.kernel.org/r/20230315084938.2544737-5-david%40fromorbit.com
> patch subject: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()
> config: riscv-randconfig-r042-20230313 (https://download.01.org/0day-ci/archive/20230316/[email protected]/config)
> compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7)
> 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
> # install riscv cross compiling tool for clang build
> # apt-get install binutils-riscv64-linux-gnu
> # https://github.com/intel-lab-lkp/linux/commit/8360dcb55f1eb08fe7a1f457f3b99bef8e306c8b
> git remote add linux-review https://github.com/intel-lab-lkp/linux
> git fetch --no-tags linux-review Dave-Chinner/cpumask-introduce-for_each_cpu_or/20230315-165202
> git checkout 8360dcb55f1eb08fe7a1f457f3b99bef8e306c8b
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv olddefconfig
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash fs/xfs/
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <[email protected]>
> | Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> All errors (new ones prefixed by >>):
>
> >> fs/xfs/xfs_super.c:1079:9: error: call to undeclared function 'percpu_counter_sum_all'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
> percpu_counter_sum_all(&mp->m_delalloc_blks) == 0);
> ^
> fs/xfs/xfs_super.c:1079:9: note: did you mean 'percpu_counter_sum'?
> include/linux/percpu_counter.h:193:19: note: 'percpu_counter_sum' declared here
> static inline s64 percpu_counter_sum(struct percpu_counter *fbc)
> ^
> 1 error generated.
>
>
> vim +/percpu_counter_sum_all +1079 fs/xfs/xfs_super.c
>
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1070
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1071 static void
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1072 xfs_destroy_percpu_counters(
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1073 struct xfs_mount *mp)
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1074 {
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1075 percpu_counter_destroy(&mp->m_icount);
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1076 percpu_counter_destroy(&mp->m_ifree);
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1077 percpu_counter_destroy(&mp->m_fdblocks);
> 75c8c50fa16a23 Dave Chinner 2021-08-18 1078 ASSERT(xfs_is_shutdown(mp) ||
> c35278f526edf1 Ye Bin 2023-03-14 @1079 percpu_counter_sum_all(&mp->m_delalloc_blks) == 0);

Ah, yes, ChatGPT-4 hired someone via Mechanical Turk to log in to my
kernel.org account, answer the CAPTCHA, and push Ye's patch into
for-next.

(No it didn't. Is your bot merging random patches from the XFS list and
whining when the result doesn't build? WTH is going on here??)

--D

> 8757c38f2cf6e5 Ian Kent 2019-11-04 1080 percpu_counter_destroy(&mp->m_delalloc_blks);
> 2229276c528326 Darrick J. Wong 2022-04-12 1081 percpu_counter_destroy(&mp->m_frextents);
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1082 }
> 8757c38f2cf6e5 Ian Kent 2019-11-04 1083
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests

2023-03-17 02:25:11

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()

On Thu, Mar 16, 2023 at 07:55:50AM +1100, Dave Chinner wrote:
> On Thu, Mar 16, 2023 at 03:22:31AM +0800, kernel test robot wrote:
> > Hi Dave,
> >
> > Thank you for the patch! Yet something to improve:
>
> No, ithere is nothing wrong with my patch series, this is something
> for _you_ to improve.
>
> > [auto build test ERROR on linus/master]
> > [also build test ERROR on v6.3-rc2 next-20230315]
> > [cannot apply to dennis-percpu/for-next]
> > [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#_base_tree_information]
> >
> > url: https://github.com/intel-lab-lkp/linux/commits/Dave-Chinner/cpumask-introduce-for_each_cpu_or/20230315-165202
> > patch link: https://lore.kernel.org/r/20230315084938.2544737-5-david%40fromorbit.com
> > patch subject: [PATCH 4/4] pcpcntr: remove percpu_counter_sum_all()
> > config: i386-randconfig-a005 (https://download.01.org/0day-ci/archive/20230316/[email protected]/config)
> > compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
> > reproduce (this is a W=1 build):
> > # https://github.com/intel-lab-lkp/linux/commit/8360dcb55f1eb08fe7a1f457f3b99bef8e306c8b
> > git remote add linux-review https://github.com/intel-lab-lkp/linux
> > git fetch --no-tags linux-review Dave-Chinner/cpumask-introduce-for_each_cpu_or/20230315-165202
> > git checkout 8360dcb55f1eb08fe7a1f457f3b99bef8e306c8b
> > # save the config file
> > mkdir build_dir && cp config build_dir/.config
> > make W=1 O=build_dir ARCH=i386 olddefconfig
> > make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/hwmon/ fs/xfs/
> >
> > If you fix the issue, kindly add following tag where applicable
> > | Reported-by: kernel test robot <[email protected]>
> > | Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/
> >
> > All errors (new ones prefixed by >>):
> >
> > In file included from include/linux/string.h:5,
> > from include/linux/uuid.h:11,
> > from fs/xfs/xfs_linux.h:10,
> > from fs/xfs/xfs.h:22,
> > from fs/xfs/xfs_super.c:7:
> > fs/xfs/xfs_super.c: In function 'xfs_destroy_percpu_counters':
> > >> fs/xfs/xfs_super.c:1079:16: error: implicit declaration of function 'percpu_counter_sum_all'; did you mean 'percpu_counter_sum'? [-Werror=implicit-function-declaration]
> > 1079 | percpu_counter_sum_all(&mp->m_delalloc_blks) == 0);
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > include/linux/compiler.h:77:45: note: in definition of macro 'likely'
> > 77 | # define likely(x) __builtin_expect(!!(x), 1)
> > | ^
> > fs/xfs/xfs_super.c:1078:9: note: in expansion of macro 'ASSERT'
> > 1078 | ASSERT(xfs_is_shutdown(mp) ||
> > | ^~~~~~
> > cc1: some warnings being treated as errors
> >
> >
> > vim +1079 fs/xfs/xfs_super.c
> >
> > 8757c38f2cf6e5 Ian Kent 2019-11-04 1070
> > 8757c38f2cf6e5 Ian Kent 2019-11-04 1071 static void
> > 8757c38f2cf6e5 Ian Kent 2019-11-04 1072 xfs_destroy_percpu_counters(
> > 8757c38f2cf6e5 Ian Kent 2019-11-04 1073 struct xfs_mount *mp)
> > 8757c38f2cf6e5 Ian Kent 2019-11-04 1074 {
> > 8757c38f2cf6e5 Ian Kent 2019-11-04 1075 percpu_counter_destroy(&mp->m_icount);
> > 8757c38f2cf6e5 Ian Kent 2019-11-04 1076 percpu_counter_destroy(&mp->m_ifree);
> > 8757c38f2cf6e5 Ian Kent 2019-11-04 1077 percpu_counter_destroy(&mp->m_fdblocks);
> > 75c8c50fa16a23 Dave Chinner 2021-08-18 1078 ASSERT(xfs_is_shutdown(mp) ||
> > c35278f526edf1 Ye Bin 2023-03-14 @1079 percpu_counter_sum_all(&mp->m_delalloc_blks) == 0);
>
> This change has not been committed to any tree that I am aware of.
> It was only posted to the XFS list yesterday, and I effectively
> NACK'd it and wrote this patchset instead to fix the issue.
>
> IOWs, if -anyone- has actually committed this change to add
> percpu_counter_sum_all() to XFS, they've done the wrong thing.
> Hence this build failure is a robot issue, not a problem with my
> patch series.

Sorry about this false positive report.

The robot misinterpreted the link in the cover letter, and wrongly
thought it was a prerequisite patch for this patch series, leading to
this false report.

We will improve the robot and increase the accuracy.

--
Best Regards,
Yujie