Messages in this thread | | | From | "Huang, Ying" <> | Subject | Re: [PATCH] [v2] smp: fix smp_call_function_single_async prototype | Date | Thu, 06 May 2021 09:19:53 +0800 |
| |
Arnd Bergmann <arnd@kernel.org> writes:
> From: Arnd Bergmann <arnd@arndb.de> > > As of commit 966a967116e6 ("smp: Avoid using two cache lines for struct > call_single_data"), the smp code prefers 32-byte aligned call_single_data > objects for performance reasons, but the block layer includes an instance > of this structure in the main 'struct request' that is more senstive > to size than to performance here, see 4ccafe032005 ("block: unalign > call_single_data in struct request"). > > The result is a violation of the calling conventions that clang correctly > points out: > > block/blk-mq.c:630:39: warning: passing 8-byte aligned argument to 32-byte aligned parameter 2 of 'smp_call_function_single_async' may result in an unaligned pointer access [-Walign-mismatch] > smp_call_function_single_async(cpu, &rq->csd);
Can this be silenced by
smp_call_function_single_async(cpu, (call_single_data_t *)&rq->csd);
Best Regards, Huang, Ying
[snip]
| |