[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1615303512-35058-4-git-send-email-xlpang@linux.alibaba.com>
Date: Tue, 9 Mar 2021 23:25:11 +0800
From: Xunlei Pang <xlpang@...ux.alibaba.com>
To: Christoph Lameter <cl@...ux.com>,
Pekka Enberg <penberg@...nel.org>,
Vlastimil Babka <vbabka@...e.cz>, Roman Gushchin <guro@...com>,
Konstantin Khlebnikov <khlebnikov@...dex-team.ru>,
David Rientjes <rientjes@...gle.com>,
Matthew Wilcox <willy@...radead.org>,
Shu Ming <sming56@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Wen Yang <wenyang@...ux.alibaba.com>,
James Wang <jnwang@...ux.alibaba.com>,
Xunlei Pang <xlpang@...ux.alibaba.com>
Subject: [PATCH v3 3/4] percpu: Export per_cpu_sum()
per_cpu_sum() is useful, and deserves to be exported.
Tested-by: James Wang <jnwang@...ux.alibaba.com>
Signed-off-by: Xunlei Pang <xlpang@...ux.alibaba.com>
---
include/linux/percpu-defs.h | 10 ++++++++++
kernel/locking/percpu-rwsem.c | 10 ----------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/include/linux/percpu-defs.h b/include/linux/percpu-defs.h
index dff7040..0e71b68 100644
--- a/include/linux/percpu-defs.h
+++ b/include/linux/percpu-defs.h
@@ -220,6 +220,16 @@
(void)__vpp_verify; \
} while (0)
+#define per_cpu_sum(var) \
+({ \
+ typeof(var) __sum = 0; \
+ int cpu; \
+ compiletime_assert_atomic_type(__sum); \
+ for_each_possible_cpu(cpu) \
+ __sum += per_cpu(var, cpu); \
+ __sum; \
+})
+
#ifdef CONFIG_SMP
/*
diff --git a/kernel/locking/percpu-rwsem.c b/kernel/locking/percpu-rwsem.c
index 70a32a5..0980e51 100644
--- a/kernel/locking/percpu-rwsem.c
+++ b/kernel/locking/percpu-rwsem.c
@@ -178,16 +178,6 @@ bool __percpu_down_read(struct percpu_rw_semaphore *sem, bool try)
}
EXPORT_SYMBOL_GPL(__percpu_down_read);
-#define per_cpu_sum(var) \
-({ \
- typeof(var) __sum = 0; \
- int cpu; \
- compiletime_assert_atomic_type(__sum); \
- for_each_possible_cpu(cpu) \
- __sum += per_cpu(var, cpu); \
- __sum; \
-})
-
/*
* Return true if the modular sum of the sem->read_count per-CPU variable is
* zero. If this sum is zero, then it is stable due to the fact that if any
--
1.8.3.1
Powered by blists - more mailing lists