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
Heiko Carstens 1651a95517 s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES
[ Upstream commit 63678eecec57fc51b778be3da35a397931287170 ]

gcc 12 does not (always) optimize away code that should only be generated
if parameters are constant and within in a certain range. This depends on
various obscure kernel config options, however in particular
PROFILE_ALL_BRANCHES can trigger this compile error:

In function ‘__atomic_add_const’,
    inlined from ‘__preempt_count_add.part.0’ at ./arch/s390/include/asm/preempt.h:50:3:
./arch/s390/include/asm/atomic_ops.h:80:9: error: impossible constraint in ‘asm’
   80 |         asm volatile(                                                   \
      |         ^~~

Workaround this by simply disabling the optimization for
PROFILE_ALL_BRANCHES, since the kernel will be so slow, that this
optimization won't matter at all.

Reported-by: Thomas Richter <tmricht@linux.ibm.com>
Reviewed-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-14 18:11:27 +02:00
arch s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES 2022-06-14 18:11:27 +02:00
block
certs
crypto
Documentation
drivers HID: bigben: fix slab-out-of-bounds Write in bigben_probe 2022-06-14 18:11:27 +02:00
fs btrfs: repair super block num_devices automatically 2022-06-14 18:11:24 +02:00
include ALSA: jack: Access input_dev under mutex 2022-06-14 18:11:25 +02:00
init
ipc
kernel ptrace: Reimplement PTRACE_KILL by always sending SIGKILL 2022-06-14 18:11:24 +02:00
lib
LICENSES
mm
net ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL 2022-06-14 18:11:27 +02:00
samples
scripts
security
sound ASoC: tscs454: Add endianness flag in snd_soc_component_driver 2022-06-14 18:11:27 +02:00
tools tools/power turbostat: fix ICX DRAM power numbers 2022-06-14 18:11:25 +02:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
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.