Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build native kernel with DEBUG_FORCE_FUNCTION_ALIGN_32B #2332

Closed
insilications opened this issue Apr 16, 2021 · 1 comment
Closed

Build native kernel with DEBUG_FORCE_FUNCTION_ALIGN_32B #2332

insilications opened this issue Apr 16, 2021 · 1 comment
Assignees

Comments

@insilications
Copy link

There are cases that a commit from one domain changes the function address alignment of other domains, and cause magic performance bump (regression or improvement). 
Enable this option will help to verify if the bump is caused by function alignment changes, while it will slightly increase the kernel size and affect icache usage.

It is mainly for debug and performance tuning use.

https://github.com/torvalds/linux/blob/v5.10/Makefile#L900:

ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B
KBUILD_CFLAGS += -falign-functions=32
endif

En passant: 5.12 will be released with official Clang LTO support (LLVM 12 has been released). There are also some patches for using GCC LTO, for those who want it (https://github.com/andikleen/linux-misc/tree/lto-5.11-2).
https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.12-Clang-LTO-Merged

@insilications
Copy link
Author

@miguelinux can you take a look into this to see if it is worth it? Please? ❤️

@miguelinux miguelinux self-assigned this Jun 3, 2021
clrpackages pushed a commit to clearlinux-pkgs/linux that referenced this issue Jul 29, 2021
There are cases that a commit from one domain changes the function
address alignment of other domains, and cause magic performance bump
(regression or improvement).
Enable this option will help to verify if the bump is caused by function
alignment changes, while it will slightly increase the kernel size and
affect icache usage.

It is mainly for debug and performance tuning use.

resolves clearlinux/distribution#2332
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants