There it is, running like a champ
I was on X11 at the time. Iâm running out of time for Clear projects and trying to finish. Just now, finished solving the issue.
In cased you glanced quickly, I have ltsdesktop
which is Clearâs LTS kernel with preempt and rcu boost enabled. In other words, I have reached apples-to-apples comparison between Clear and XanMod. Clearâs kernel also drops frames with preempt enabled. Marching forward and through discovery, I think not a good idea to enable preempt by default.
$ sudo clr-boot-manager list-kernels
org.clearlinux.ltscurrent.6.1.53-1313
* org.clearlinux.xmlts.6.1.54-4
org.clearlinux.ltsdesktop.6.1.53-3
org.clearlinux.xmedge.6.4.15-3
org.clearlinux.xmlts.6.1.54-3
org.clearlinux.xmrt.6.1.46-3
Above, xmlts.6.1.54-3 has preempt enabled and 6.1.54-4 not. The latter experiences no frame drops without chrt, while the system is running background jobs.
Status: I completed user-simulation. That was intense. I added safety to automation. So, that folks cannot install same version on top of self or remove self, ⌠and more.
I see the light
The spec files are based on Clearâs kernels and using Clearâs config. The desktop flavors have the preempt and rcu overrides enabled. The rcu_boost knob depends on rt_mutexes, preempt_rcu, and rcu_expert.
cp %{SOURCE1} .config
# Enable preempt.
%if 1
scripts/config -e PREEMPT_BUILD
scripts/config -d PREEMPT_NONE
scripts/config -d PREEMPT_VOLUNTARY
scripts/config -e PREEMPT
scripts/config -e PREEMPT_COUNT
scripts/config -e PREEMPTION
scripts/config -e PREEMPT_DYNAMIC
%endif
# Enable RCU boost (requires preempt).
%if 1
scripts/config -e RT_MUTEXES
scripts/config -e PREEMPT_RCU
scripts/config -e RCU_EXPERT
scripts/config -e RCU_BOOST
scripts/config --set-val RCU_BOOST_DELAY 500
scripts/config -d RCU_EXP_KTHREAD
%endif
mv .config config
There will be two flavors default
and preempt
for edge, lts and rt. The sole difference between default and preempt is the latter built with preempt and rcu_boost overrides enabled in the spec file. Previously, I imagined desktop and server for naming. But this is what it says.
org.clearlinux.xmedge-default.6.5.4-100
org.clearlinux.xmedge-preempt.6.5.4-100
org.clearlinux.xmlts-default.6.1.54-100
org.clearlinux.xmlts-preempt.6.1.54-100
org.clearlinux.xmrt-default.6.1.54-100
org.clearlinux.xmrt-preempt.6.1.54-100
Benchmark results apples-to-apples comparison on Clear Linux.
The RT variant will have two preempt flavors; one configured with PREEMPT_RT, the other PREEMPT_DYNAMIC.
Some nice figures there. Clear doing even better than expected.
Agree The Clear ltsdesktop and preempt_rt (with PREEMPT_RT knob enabled) do not exists. I built them locally for apples-to-apples comparison with XanMod.
The discovery led to a surprise. I added one more entry to the mix; the RT kernel with PREEMPT_DYNAMIC knobs (same overrides as lts preempt). Thatâs the kernel I chose for running on my desktop.
Viewing the results is best with two to three browser windows. Scroll to the bottom of the page in the third window for the RT PREEMPT_DYNAMIC results. Scroll to the ltscurrent, ltsdefault section in the first window and Clear rt, XanMod rt section in the 2nd window.
I am wondering, how can just one person do this much? You must have a few developers working in a team!
Canât wait @marioroy !!!
I suggested that last week
A guy who did Many-Core Engine for Perl on his own can do this by himself @Businux. @marioroy you are an amazing human being. I apologise for my flattery.
Thank you @Indy for the kind words.
The XanMod on Clear is interesting. Today, Sir Lego came by and asked about the customization or play factor. Ah, yes⌠The repo provides custom spec files. This is where to apply desired kernel customization.
linux-xmedge-custom.spec
linux-xmlts-custom.spec
linux-xmrt-custom.spec
Basically, please refrain from making modifications to the default and preempt spec files. Doing so will cause git pull
to fail. Instead, make modifications to the custom spec file. The custom.spec files are ignored by git pull.
./xm-build edge-custom
./xm-install edge-custom
./xm-uninstall edge-custom
Tab auto-completion is done.
$ ./xm-build
edge-custom edge-preempt lts-default rt-custom rt-preempt
edge-default lts-custom lts-preempt rt-default rt-preempt_rt
The /boot
partition has limited space. So, no reason to install many XanMod kernels. Build the one you want and enjoy the XanMod kernel. If later changing your mind, remember to manage and uninstall unused XanMod kernels. Do not fill up your /boot
partition.
I finished the project and made a new thread for announcement.
Sucess!! I can feel the fluidness of the GUI straight away.