No description
Find a file
Danny Lin f9681240cf
Makefile: Use pipes rather than temporary files for intermediate steps
GCC supports the use of pipes for intermediate compilation steps (e.g.
passing the generated assembly code to the assembler) as a replacement for
temporary files. This bypasses VFS and other layers which can introduce
substantial amounts of overhead and instead redirects data directly
between processes.

The final product and generated code are unaffected. Memory usage while
compiling is slightly higher.

Tests showed a substantial reduction in build time when using GCC to
compile an x86 4.19 kernel:
Using temporary files in tmpfs: 2m41s
Using pipes:                    2m36s

Similar benefits were observed with an Android arm64 4.9 kernel:
Using tmpfs: 5m34s
Using pipes: 4m33s

Enable the feature when possible (i.e. when the compiler supports it) to
speed up builds at effectively no cost for many setups, particularly
those with weaker CPUs.

Test: kernel compiles and boots
Signed-off-by: Danny Lin <danny@kdrag0n.dev>

Signed-off-by: Carlos Jimenez (JavaShin-X) <javashin1986@gmail.com>
Change-Id: Id7860154edd5547dc686e1320a25892e8c4906a6
Signed-off-by: starlight5234 <starlight5234@protonmail.ch>
2021-08-21 16:11:53 +02:00
android ANDROID: Refresh ABI.xmls with libabigail 1.8.0-98bbf30d 2020-09-28 14:42:26 +01:00
arch arm64: Makefile: Remove "-z norelro" from vmlinux ldflags 2021-08-21 16:11:53 +02:00
block block: blk-mq: Silence align-mismatch warning 2021-08-21 16:10:47 +02:00
certs Merge remote-tracking branch 'origin/tmp-441e17f' into msm-kona 2018-09-05 14:58:16 -07:00
crypto Merge android-4.19-stable.136 (204dd19) into msm-4.19 2020-10-14 20:04:29 +05:30
Documentation Merge android-4.19-stable.149 (9ce79d9) into msm-4.19 2020-10-21 09:25:49 +05:30
drivers Revert "msm: kgsl: Mark the scratch buffer as privileged" 2021-08-21 16:11:53 +02:00
firmware Fix built-in early-load Intel microcode alignment 2020-01-23 08:21:29 +01:00
fs fs: pstore: Import xiaomi changes 2021-08-21 16:10:46 +02:00
include trace: Add a CONFIG_DISABLE_TRACE_PRINTK option. 2021-08-21 16:10:48 +02:00
init Merge "sched/tune: Fix improper accounting of tasks" 2020-10-19 15:55:56 -07:00
ipc Restore sdcardfs feature 2020-08-21 15:15:18 +05:30
kernel trace: Add a CONFIG_DISABLE_TRACE_PRINTK option. 2021-08-21 16:10:48 +02:00
lib Merge android-4.19-stable.152 (13abe23) into msm-4.19 2020-10-28 17:52:20 +05:30
LICENSES LICENSES: Add ISC license text 2019-01-10 17:22:01 +02:00
mm Merge android-4.19-stable.152 (13abe23) into msm-4.19 2020-10-28 17:52:20 +05:30
net Merge "cfg80211: use same IR permissive rules for 6GHz band" 2020-11-11 11:31:26 -08:00
samples This is the 4.19.126 stable release 2020-06-03 09:23:15 +02:00
scripts scripts: use python rewrite in libfdt for mkdtimg 2021-08-21 16:10:47 +02:00
security security: default to INIT_STACK_NONE 2021-08-21 16:10:47 +02:00
sound Merge android-4.19-stable.149 (9ce79d9) into msm-4.19 2020-10-21 09:25:49 +05:30
techpack techpack: display: Import xiaomi changes 2021-08-21 16:10:47 +02:00
tools This is the 4.19.152 stable release 2020-10-17 10:26:40 +02:00
usr initramfs: restore default compression behavior 2020-04-13 10:44:59 +02:00
virt Merge android-4.19-stable.149 (9ce79d9) into msm-4.19 2020-10-21 09:25:49 +05:30
.clang-format clang-format: Set IndentWrappedFunctionNames false 2018-08-01 18:38:51 +02: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 arch: Import dts with xiaomi changes 2021-08-21 16:10:44 +02:00
.mailmap libnvdimm-for-4.19_misc 2018-08-25 18:13:10 -07:00
Android.bp Example kernel headers header_lib package 2020-01-18 11:53:58 -08:00
AndroidKernel.mk AndroidKernel: add TARGET_PREBUILT_INT_KERNEL_IMAGE 2019-08-02 20:31:09 +08:00
build.config.aarch64 ANDROID: use arm-linux-androidkernel- for CROSS_COMPILE_COMPAT 2020-10-02 00:18:00 +00:00
build.config.allmodconfig ANDROID: build.config.allmodconfig: Re-enable XFS_FS 2020-04-17 08:41:31 +00:00
build.config.allmodconfig.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 15:14:51 +08:00
build.config.allmodconfig.arm ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 15:14:51 +08:00
build.config.allmodconfig.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 15:14:51 +08:00
build.config.arm ANDROID: Add build.config files for ARM 32-bit 2020-03-16 17:43:55 +00:00
build.config.common ANDROID: build.config.common: enable LLVM=1 2020-10-01 20:10:11 +00:00
build.config.gki ANDROID: gki: Removed cf modules from gki_defconfig 2020-01-31 16:23:38 -08:00
build.config.gki-debug.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 15:14:51 +08:00
build.config.gki-debug.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 15:14:51 +08:00
build.config.gki.aarch64 ANDROID: GKI: prevent removal of monitored symbols 2020-09-29 11:48:43 +01:00
build.config.gki.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 15:14:51 +08:00
build.config.gki_kasan ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 15:14:51 +08:00
build.config.gki_kasan.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 15:14:51 +08:00
build.config.gki_kasan.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-09-25 15:14:51 +08:00
build.config.goldfish.arm ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.goldfish.arm64 ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.goldfish.mips ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.goldfish.mips64 ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.goldfish.x86 ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.goldfish.x86_64 ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.x86_64 ANDROID: refactor build.config files to remove duplication 2019-10-22 17:52:56 -07:00
COPYING COPYING: use the new text with points to the license files 2018-03-23 12:41:45 -06:00
CREDITS 9p: remove Ron Minnich from MAINTAINERS 2018-08-17 16:20:26 -07:00
gen_headers_arm.bp gen_headers*: Pass along audio techpack headers. 2021-08-21 16:06:51 +02:00
gen_headers_arm64.bp gen_headers*: Pass along audio techpack headers. 2021-08-21 16:06:51 +02:00
Kbuild qcacld-3.0: Enhance hang info feature 2020-10-31 14:27:01 -07:00
Kconfig kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt 2018-08-02 08:06:55 +09:00
kernel_headers.py Revert "kernel_headers: Disable headers matching" 2020-05-01 13:22:22 -07:00
MAINTAINERS Merge android-4.19-stable.149 (9ce79d9) into msm-4.19 2020-10-21 09:25:49 +05:30
Makefile Makefile: Use pipes rather than temporary files for intermediate steps 2021-08-21 16:11:53 +02:00
README Docs: Added a pointer to the formatted docs to README 2018-03-21 09:02:53 -06:00
verity_dev_keys.x509 x86_64_cuttlefish_defconfig: enable verity cert 2018-08-28 17:15:17 +05:30

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.
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.