diff options
author | Leonardo Bras <leobras@redhat.com> | 2023-08-31 03:31:28 -0300 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2023-09-13 14:59:24 +0200 |
commit | d090ec0df81e56556af3a2bf04a7e89347ae5784 (patch) | |
tree | 40109dfc9f7a33202c71c0371cdf0ee58e2819c6 /kernel/up.c | |
parent | e0a99a839f04c90bf9f16919997c4b34f9c8f1f0 (diff) |
smp: Change function signatures to use call_single_data_t
call_single_data_t is a size-aligned typedef of struct __call_single_data.
This alignment is desirable in order to have smp_call_function*() avoid
bouncing an extra cacheline in case of an unaligned csd, given this
would hurt performance.
Since the removal of struct request->csd in commit 660e802c76c8
("blk-mq: use percpu csd to remote complete instead of per-rq csd") there
are no current users of smp_call_function*() with unaligned csd.
Change every 'struct __call_single_data' function parameter to
'call_single_data_t', so we have warnings if any new code tries to
introduce an smp_call_function*() call with unaligned csd.
Signed-off-by: Leonardo Bras <leobras@redhat.com>
Reviewed-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20230831063129.335425-1-leobras@redhat.com
Diffstat (limited to 'kernel/up.c')
-rw-r--r-- | kernel/up.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/up.c b/kernel/up.c index a38b8b095251..df50828cc2f0 100644 --- a/kernel/up.c +++ b/kernel/up.c @@ -25,7 +25,7 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info, } EXPORT_SYMBOL(smp_call_function_single); -int smp_call_function_single_async(int cpu, struct __call_single_data *csd) +int smp_call_function_single_async(int cpu, call_single_data_t *csd) { unsigned long flags; |