@kernellogger It failed by default, as below:
$ bash kcbench -b -i 1 -j $(nproc --all)
[NOTE] Downloading source of Linux 5.15; this might take a while...
Processor: QEMU Virtual CPU version 2.5+ [40 threads]
Cpufreq; Memory: Unknown; 63163 MiB
Linux running: 6.12.0-rc2-mm-unstable-damon+ [x86_64]
Compiler: gcc (Debian 12.2.0-14) 12.2.0
Linux compiled: 5.15.0 [.../.cache/kcbench/linux-5.15]
Config; Environment: defconfig; CCACHE_DISABLE="1"
Build command: make vmlinux
Run 1 (-j 40):
Compilation failed. Aborting kcbench. Command used for compilation:
CCACHE_DISABLE="1" make --silent -C '.../.cache/kcbench/linux-5.15' O='/tmp/kcbench.yjn7s1H3h/worker-0/' -j '40' vmlinux
Tail from the output:
CCACHE_DISABLE="1" make --silent -C '.../.cache/kcbench/linux-5.15' O='/tmp/kcbench.yjn7s1H3h/worker-0/' -j '40' vmlinux
.../.cache/kcbench/linux-5.15/scripts/extract-cert.c: In function ‘display_openssl_errors’:
.../.cache/kcbench/linux-5.15/scripts/extract-cert.c:46:9: warning: ‘ERR_get_error_line’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
46 | while ((e = ERR_get_error_line(&file, &line))) {
| ^~~~~
[...]
cc1: all warnings being treated as errors
[...]
make: *** [Makefile:219: __sub-make] Error 2
After adding -s 5.17
following the workaround from @klausman [1], it succeed.
$ bash kcbench -b -i 1 -j $(nproc --all) -s 5.17
[NOTE] Downloading source of Linux 5.17; this might take a while...
[...]
Linux compiled: 5.17.0 [.../.cache/kcbench/linux-5.17]
Config; Environment: defconfig; CCACHE_DISABLE="1"
Build command: make vmlinux
Run 1 (-j 40): 65.73 seconds / 54.77 kernels/hour [P:2858%, 45 maj. pagefaults]
The next instalment of Linus vs. Kent – and Linus seems to be on the edge:
"[…] I'm contemplating just removing #bcachefs entirely from the [#Linux #kernel] mainline tree. Because you show again and again that you have no interest in trying to make mainline work. […]"
For the full discussion, start here: https://lore.kernel.org/all/cphtxla2se4gavql3re5xju7mqxld4rp6q4wbqephb6by5ibfa@5myddcaxerpb/t/#m631c24cd07f5820a4cbff8f25dff1d1a0c3cf2e7 (the quote is from one of the later mails from Linus). #LinuxKernel
"[...] Always remember: upstream Linux kernel development is highly social. 😉"
#sched_ext, which allows scheduling policies to be implemented as #BPF programs, has been merged for #Linux 6.12:
https://git.kernel.org/torvalds/c/88264981f2082248e892a706b2c5004650faac54
See https://lwn.net/Articles/922405/ for a description of what it does and https://lwn.net/Articles/972710/ for the controversy it caused that is the reason why it took so long to land in mainline.
Sched_ext Merged For Linux 6.12 - Scheduling Policies As BPF Programs
Linux 6.12 is shaping up to be a heck of a kernel update! Following real-time "PREEMPT_RT" going mainline after twenty years and many other kernel features merged this week, Linus Torvalds just pulled in the much anticipated sched_ext code!..
https://www.phoronix.com/news/Linux-6.12-Lands-sched-ext
@gregkh
> but it's not obvious how and no one has come up with a way to do so. Maybe now they will have some more incentive :)
Not sure if this is what you want, but there is __attribute__((tainted_args)) since gcc 12.