What's up with Ubuntu mainline builds? (2023)

Except it didn’t it seems. I thought that today’s build of the mainline 6.18.6 would have worked since I see the rc5 build worked on 1-12-2026

What fail to compile are you referring to? I observe that something called rc=2 failed, under testing, and it does for mainline also. That is different than we were previously discussing.

I guess I was too impatient. It seems I looked at the PPA when it was first starting the compile. I saw the fail message and thought the same bug was still present. I upgraded to the new 6.18.6 the next day once I saw all the compiles were successful.

I see that some new builds showed up yesterday, but some still missing. The 6.19.2 is there fixing the flub with the 6.19.1 regression. And the 6.18.12 kernel is there skipping over everything since 6.18.7. Got 6.18.12 installed on all my hosts. But will have to wait till Ubuntu 26.04 for the 6.19 kernels since the toolchain moved on to GCC-15 which is not available in Ubuntu 24.04 yet. Not going to bother messing around with building it myself.

I see that the mainline compiles are broken again. So, I have no way to check if the Ubuntu kernel configuration has been modified as needed by commit 7dadeaa6e851:

“sched: Further restrict the preemption modes”

an extract:

While Lazy has been the recommended setting for a while, not all distributions
have managed to make the switch yet. Force things along.

It cost me an enormous amount of time when the kernel configuration automatically changed, eliminating PREEMPT_VOLUNTARY while leaving PREEMPT_LAZY disabled. I finally figured it out and have now set PREEMPT_LAZYto yes, and the issue I have been chasing is gone (although I am still testing).

1 Like

Okay, the Mainline build for Kernel 7.0-rc1 seems to have worked, at least for AMD64.

Its kernel configuration has the issue I raised yesterday. I tested:

7.0.0-070000rc1-generic #202602222250 SMP PREEMPT_DYNAMIC Sun Feb 22 23:29:33 UTC 2026 x86_64 x86_64 x86_64 GNU/Linu

And it has the issue I was chasing.

You should never ever rely on mainline builds to check for Ubuntu configurations. While mainline builds do use (some version of the) Ubuntu kernel configs they also automatically set new and unknown configs which might end up being different from the supported settings once they release.

The only source of truth for the configs is either /boot/config-<release> or the annotations file in the respective Ubuntu kernel source tree.

I was just trying to make you aware of the issue. It needs to be fixed. This is a new issue as of kernel 7.0-rc1, introduced somewhere early in the 2 weeks between 6.19 and 7.0-rc1. All of the /boot/config* files had this issue.

I have been using mainline builds for over a decade to steal the Ubuntu kernel configuration for use with the upstream main git branch. I understand and accept the risks of doing so. Re-reading my earlier post, it does sound as though I was complaining, which was not my intent.

Here are the differences in the default kernel configurations from before and after commit 7dadeaa6e851:

doug@s19:~/kernel/linux$ scripts/diffconfig .config-before .config-after
-PREEMPT_NONE n
-PREEMPT_VOLUNTARY y
PREEMPT n → y

but what is also needed is for CONFIG_PREEMPT_LAZY to be set.

doug@s19:~/kernel/linux$ git tag --contains 7dadeaa6e851
v7.0-rc1

Nah, it’s all good. I just wanted to reiterate that mainline builds are unsupported, might be broken and not up-to-date and shouldn’t be run in production.

As for the configs, the problem seems to be that mainline build automation is using the configs from an Ubuntu 6.19 kernel (because there’s no 7.0 yet) and the tooling fiddles with the configs and we end up with what we have.

Something doesn’t look right. It shouldn’t change the PREEMPT mode, could be a dependency issue due to or config settings. I’ll look into it. Thanks for raising the issue.

2 Likes

I observe that the mainline kernel 7.0-rc2 build did not have the kernel PREEMPT configuration issue fixed. But, I observe that the daily build for today has the PREEMPT kernel configuration issue fixed (non-relevant stuff deleted):

doug@s19:~/test_kernels/zbla/boot$ diff config-7.0.0-070000rc2-generic config-7.0.0-070000rc2daily20260305-generic5c5
138,139c140,141
< CONFIG_PREEMPT=y
< # CONFIG_PREEMPT_LAZY is not set
---
> # CONFIG_PREEMPT is not set
> CONFIG_PREEMPT_LAZY=y

Thank you.

Removed duplicate post.

Closing - the issue is now of historical interest only.