No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Arnd Bergmann 32e046965f smp: Fix smp_call_function_single_async prototype
commit 1139aeb1c521eb4a050920ce6c64c36c4f2a3ab7 upstream.

As of commit 966a967116 ("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 4ccafe0320 ("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.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Jens Axboe <axboe@kernel.dk>
Link: https://lkml.kernel.org/r/20210505211300.3174456-1-arnd@kernel.org
[nc: Fix conflicts]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-05-14 09:44:33 +02:00
arch arm64: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E 2021-05-14 09:44:31 +02:00
block block: only update parent bi_status when bio fail 2021-04-16 11:46:38 +02:00
certs
crypto crypto: rng - fix crypto_rng_reset() refcounting when !CRYPTO_STATS 2021-05-11 14:04:15 +02:00
Documentation
drivers RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res 2021-05-14 09:44:32 +02:00
fs ovl: fix missing revert_creds() on error path 2021-05-14 09:44:16 +02:00
include smp: Fix smp_call_function_single_async prototype 2021-05-14 09:44:33 +02:00
init
ipc
kernel smp: Fix smp_call_function_single_async prototype 2021-05-14 09:44:33 +02:00
lib bug: Remove redundant condition check in report_bug 2021-05-14 09:44:27 +02:00
LICENSES
mm mm/memory-failure: unnecessary amount of unmapping 2021-05-14 09:44:32 +02:00
net net: Only allow init netns to set default tcp cong to a restricted algo 2021-05-14 09:44:33 +02:00
samples kfifo: fix ternary sign extension bugs 2021-05-14 09:44:32 +02:00
scripts
security security: commoncap: fix -Wstringop-overread warning 2021-05-11 14:04:16 +02:00
sound ALSA: usb: midi: don't return -ENOMEM when usb_urb_ep_type_check fails 2021-05-14 09:44:30 +02:00
tools selftests: net: mirror_gre_vlan_bridge_1q: Make an FDB entry static 2021-05-14 09:44:32 +02:00
usr
virt KVM: Stop looking for coalesced MMIO zones if the bus is destroyed 2021-05-14 09:44:15 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.118 2021-05-11 14:04:18 +02:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.