[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YJPArKvd+GuiBwRk@hirez.programming.kicks-ass.net>
Date: Thu, 6 May 2021 12:10:52 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Arnd Bergmann <arnd@...nel.org>
Cc: linux-kernel@...r.kernel.org, Arnd Bergmann <arnd@...db.de>,
Jens Axboe <axboe@...nel.dk>, Jian Cai <jiancai@...gle.com>,
Guenter Roeck <linux@...ck-us.net>,
"Huang, Ying" <ying.huang@...el.com>, Borislav Petkov <bp@...e.de>,
Eric Dumazet <eric.dumazet@...il.com>,
Juergen Gross <jgross@...e.com>,
Michael Ellerman <mpe@...erman.id.au>,
Thomas Gleixner <tglx@...utronix.de>,
Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Ingo Molnar <mingo@...nel.org>,
Frederic Weisbecker <frederic@...nel.org>,
He Ying <heying24@...wei.com>,
Andrew Morton <akpm@...ux-foundation.org>,
"Paul E. McKenney" <paulmck@...nel.org>,
clang-built-linux@...glegroups.com
Subject: Re: [PATCH] [v2] smp: fix smp_call_function_single_async prototype
On Wed, May 05, 2021 at 11:12:42PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.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);
>
> It does seem that the usage of the call_single_data without cache line
> alignment should still be allowed by the smp code, so just change the
> function prototype so it accepts both, but leave the default alignment
> unchanged for the other users. This seems better to me than adding
> a local hack to shut up an otherwise correct warning in the caller.
>
> Link: https://lore.kernel.org/linux-block/20210330230249.709221-1-jiancai@google.com/
> Link: https://github.com/ClangBuiltLinux/linux/issues/1328
> Acked-by: Jens Axboe <axboe@...nel.dk>
> Cc: Jian Cai <jiancai@...gle.com>
> Cc: Guenter Roeck <linux@...ck-us.net>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Cc: "Huang, Ying" <ying.huang@...el.com>
> Cc: Borislav Petkov <bp@...e.de>
> Cc: Eric Dumazet <eric.dumazet@...il.com>
> Cc: Juergen Gross <jgross@...e.com>
> Cc: Michael Ellerman <mpe@...erman.id.au>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
Thanks!
Powered by blists - more mailing lists