Go to file
Arnd Bergmann 683cfd2540 crypto: aes-generic - fix aes-generic regression on powerpc
commit 6e36719fbe upstream

My last bugfix added -Os on the command line, which unfortunately caused
a build regression on powerpc in some configurations.

I've done some more analysis of the original problem and found slightly
different workaround that avoids this regression and also results in
better performance on gcc-7.0: -fcode-hoisting is an optimization step
that got added in gcc-7 and that for all gcc-7 versions causes worse
performance.

This disables -fcode-hoisting on all compilers that understand the option.
For gcc-7.1 and 7.2 I found the same performance as my previous patch
(using -Os), in gcc-7.0 it was even better. On gcc-8 I could see no
change in performance from this patch. In theory, code hoisting should
not be able make things better for the AES cipher, so leaving it
disabled for gcc-8 only serves to simplify the Makefile change.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Link: https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg30418.html
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83356
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83651
Fixes: 148b974dee ("crypto: aes-generic - build with -Os on gcc-7+")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-06-09 22:38:22 -04:00
arch mips64: Disable attribute-alias warning 2018-05-18 09:54:10 -04:00
block blk-mq: don't keep offline CPUs mapped to hctx 0 2018-04-19 08:55:10 +02:00
certs License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
crypto crypto: aes-generic - fix aes-generic regression on powerpc 2018-06-09 22:38:22 -04:00
Documentation This is the 4.15.16 stable release 2018-05-10 14:00:15 -04:00
drivers This is the 4.15.18 stable release 2018-05-10 14:01:46 -04:00
firmware kbuild: remove all dummy assignments to obj- 2017-11-18 11:46:06 +09:00
fs This is the 4.15.18 stable release 2018-05-10 14:01:46 -04:00
include This is the 4.15.18 stable release 2018-05-10 14:01:46 -04:00
init uptime: allow the optional limiting of kernel runtime 2018-02-02 08:50:11 -05:00
ipc ipc/shm.c: add split function to shm_vm_ops 2018-04-08 14:27:33 +02:00
kernel This is the 4.15.18 stable release 2018-05-10 14:01:46 -04:00
lib lib: fix stall in __bitmap_parselist() 2018-04-19 08:55:10 +02:00
mm This is the 4.15.18 stable release 2018-05-10 14:01:46 -04:00
net This is the 4.15.18 stable release 2018-05-10 14:01:46 -04:00
samples Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 2017-12-03 13:08:30 -05:00
scripts modpost: srcversion sometimes incorrect 2018-04-02 10:20:44 -04:00
security This is the 4.15.18 stable release 2018-05-10 14:01:46 -04:00
sound ASoC: Intel: sst: Fix the return value of 'sst_send_byte_stream_mrfld()' 2018-04-12 12:31:08 +02:00
tools tools/lib/subcmd/pager.c: do not alias select() params 2018-05-18 09:54:24 -04:00
usr initramfs: allow an optional wrapper script around initramfs generation 2018-02-02 08:50:00 -05:00
virt KVM: arm/arm64: vgic: Don't populate multiple LRs with the same vintid 2018-03-21 12:05:45 +01:00
.cocciconfig
.get_maintainer.ignore
.gitattributes .gitattributes: set git diff driver for C source code files 2016-10-07 18:46:30 -07:00
.gitignore Kbuild misc updates for v4.15 2017-11-17 17:51:33 -08:00
.mailmap mailmap: update Mark Yao's email address 2018-01-04 16:45:09 -08:00
COPYING
CREDITS MAINTAINERS: update TPM driver infrastructure changes 2017-11-09 17:58:40 -08:00
Kbuild Kbuild updates for v4.15 2017-11-17 17:45:29 -08:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
MAINTAINERS This is the 4.15.10 stable release 2018-03-26 11:43:49 -04:00
Makefile This is the 4.15.18 stable release 2018-05-10 14:01:46 -04:00
README README: add a new README file, pointing to the Documentation/ 2016-10-24 08:12:35 -02:00

Linux kernel

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use make htmldocs or make pdfdocs.

There are various text files in the Documentation/ subdirectory, several of them using the Restructured Text markup notation. See Documentation/00-INDEX for a list of what is contained in each file.

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.