[PATCH 15/16] block: use __this_cpu_add() instead of access by smp_processor_id()

From: Christoph Hellwig
Date: Mon May 25 2020 - 07:31:12 EST


From: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>

Most architectures have fast path to access percpu for current cpu.
The required preempt_disable() is provided by part_stat_lock().

Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
[hch: rebased]
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
include/linux/part_stat.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/part_stat.h b/include/linux/part_stat.h
index a6b0938ce82e9..24125778ef3ec 100644
--- a/include/linux/part_stat.h
+++ b/include/linux/part_stat.h
@@ -54,7 +54,7 @@ static inline void part_stat_set_all(struct hd_struct *part, int value)
part_stat_read(part, field[STAT_DISCARD]))

#define __part_stat_add(part, field, addnd) \
- (part_stat_get(part, field) += (addnd))
+ __this_cpu_add((part)->dkstats->field, addnd)

#define part_stat_add(part, field, addnd) do { \
__part_stat_add((part), field, addnd); \
--
2.26.2