Linux CacULE (feedback & testing)

Cacule 5.12.1-3 Changes:

  • Cacule patch got updated (for exact changes watch at his repo please)
  • Now its possible to use the kernel with 2000 HZ
  • ondemand governor is also enabled now so that for notebooks the battery can be better used
  • some config changes
  • For testing I have enabled 2000HZ as default (will be deployed in the chaotic-aur with 2000HZ, since we need feedback, my experience and from some testers was so far good!)

The new update (Generic) will updated into the chaotic-aur. The Skylake Build you will find them here:

https://ptr1337.dev/?dir=Kernels/Intel%20Skylake

If interest is there, I will also deploy Genericv3 builds, just hit me up if interest is there.

Cacule GitHub:

Regards.

7 Likes

Cacule 5.12.1-4 Changes:

  • Some little config changes
  • Cacule interactivity_levels.patch added

Changes with the new interacivity_levels.patch:
Quote from @Hamadmarri

Added interactivity levels which are used to avoid fake interactive tasks. Fake interactive task are detected by the number of forks of their parent in a period of time. Introduced new sysctls: sched_nr_fork_threshold which is the max number of forks in period of time to consider all children fake interactive. This happnes for example when run make -j4 where make creates new threads for each job. All make children/threads are fake interactive, therefore, they are (any fake interactive tasks) put in lower interactivity regions based on how often this task is becoming fake interactive in a period of time. When a child exits or sleep, then the number of forks and the fake interactive level are reduced by 1. Also, when a maximum slid window is reached without any new fork, the fake interactive level is reduced by 1. The second sysctl is sched_fake_interactive_win_time_ms which is 1s by default. Each 1s (if a task is in runqueue, not sleeping) if the task is fake interactive already and the time slice ended without any new forks, then interactivty level is reduced by 1. For each fork, interactivity level is increased by 1. Higher levels here means lower interactive scores they got.

With these new patch there are also some new values you can set in your /etc/sysctl.d/99-cacule.conf:

Default values:

kernel.sched_nr_fork_threshold=3
kernel.sched_fake_interactive_win_time_ms=1000

Testers already reported a better performance with this new patch, it is a big step forward!

Regards!

9 Likes

I've tested in CacULE in the past on my kernels with several benchmarks, and it was almost always slower than any other scheduler (CFS, PDS, BMQ, MuQSS).

Might give it another try after reading the latest comments.

2 Likes

I very much doubt that this will improve anything in terms of reactivity, it might even harm throughput.
Did you run appropriate benchmarks like e.g. interbench/perf sched or similar?

futex2 needs several changes to glibc and systemd IIRC, it won’t do anything on its on. Or have these changes already been merged?

I see you use SirLucjan’s patch sources (a small part of which come from me, I actually work together with him on some things), I think you should make this clearer in your ReadMe.

5 Likes

A post was split to a new topic: Wrong settings in VM

So far with 2000 Hz and the new patch for interactivity score is running fine so far.
Maybe you'll get a lower FPS value in games with 2000 Hz but its much more responsive.
You can still set 1000Hz and 500 Hz in the PKGBUILD.

And as i told before benchmarks =! responsives of the system.

Yes, i use the patches from Lujan, i'll edit my PKGBUILD/README the upcomming days.
But thanks for your info, i'll clear up these things!

4 Likes

5.12.2-1 Changelogs:

  • Same as 5.12.1-4 only the Kernel got updated to 5.12.2-1

Regards

3 Likes

That’s the tricky part: how do you measure reponsiveness objectively?
It is one thing if you feel it is more responsive, the difficult thing is to actually back it up with figures.
I mostly failed at the latter part :slight_smile: that’s why I stick with 1000 or even 300 Hz as I do not really see a difference even in fast-paced games (or I’m just too old to notice).

In any case, if you’re interested, I have a few benchmark results for the older 5.10 kernel, comparing different schedulers and tick frequencies. Send a PM if you want more info.

Oh, before I forget, can you test a virtual machine in VBox or qemu with 2000 Hz? I remember that in the past, some guests did not like “unusual” frequencies, but it might have been fixed now.

4 Likes

It has been tested from several testers with 1000 Hz and 2000 Hz and the feedback was so far good and more responsive for desktop usage/gaming.

Example from my side playing rocket league with controller, got 2000 Hours in that game and champion 3 as rank, also played long time in the CS:Source and CS:GO in higher leagues and i definitely feel a difference, for benchmarks its not the best to use 2000HZ, there will be 1000 HZ perform better, thats true.

I'll hit you up.

3 Likes

Hmm... maybe the difference is more easily felt on some setups including high-freq monitors? It is really difficult to say.
But it seems that you are a serious gamer, so I can understand that you see the differences more easily than I do.

Don't get me wrong, I really like it that you put some effort into a good kernel. But I do have my questions, I hope you understand :slight_smile:

5 Likes

Everything good, feedback and also questions like that are also helping me at fixing and changing things.

Yeah, im using a 240 Hz monitor and 144 Hz monitor.

5 Likes

5.12.2-2 Changelogs:

  • virtualbox driver added
  • wineesync patch added
  • btrfs patch updated
  • zstd patches updated
6 Likes

No, I used BMQ 3 months and MuQSS 1 month and I can say CacULE don't have top numbers in a behcmarks, but i've never play Trackmania Natios Forever and Just Cause 3 on maximum settings, but after instalation linux-cacule i can! Next I saw huge improvement for KVM.

If I have BMQ or MuQSS my laptop completly slower, freezes. Linux-cacule make my laptop useable when I have running KVM machine.

If BMQ and MuQSS is better why I have lags on maximum settings and with cacule I don't have lags? How can be possible?

3 Likes

This kernel has a load of additional patches. To compare, you must use the exact same kernel and only change the scheduler.
Did you do that?

It’s not that I don’t believe you, but I have many years of experience with different schedulers, so…

5 Likes

Thank you @anon44840303! Using your mini-benchmarker, I was able to do some myth-busting, at least for my own personal case. Here are the results for whoever interested:

MINI BENCHMARKER
by torvic9
v1.6

Test                            5.12.1-zen2-1   5.10.34-1-lts   5.12.1-2-cacule 5.12.2-2-cacule

* stress-ng cpu arith:          19.15           19.63           19.43           19.74
* stress-ng cpu-cache-mem:      37.75           36.40           36.21           35.43
* coremark-pro:                 38.04           37.33           37.71           35.24
* perf sched msg pipe proc:     18.216          14.750          77.952          47.038
* perf memcpy:                  16.29           16.35           17.18           15.00
* namd 92K atoms:               55.24           21.84           21.95           21.79
* calculating 50m digits of pi: 43.42           42.38           43.48           38.00
* argon2 hashing:               16.30           17.15           18.44           13.77
* ffmpeg compilation:           115.72          111.87          110.88          99.29
* xz compression:               72.10           75.59           73.43           69.65
* Blender render:               389.94          388.41          390.58          386.43

Total time in seconds:          822.17          781.7           847.24          781.38
Total score (lower is better):  64.1            57.8            68.92           60.87

Basic hardware info:

CPU: Quad Core Intel Core i7-1065G7 (-MT MCP-) speed/min/max: 3656/400/3900 MHz
Kernel: 5.12.2-2-cacule x86_64 Up: 9h 19m Mem: 2645.3/15695.7 MiB (16.9%) Storage: 476.94 GiB (4.6% used)
Procs: 238 Shell: fish inxi: 3.3.04

Note I used zen to compile my first cacule, and the first cacule to compile the second.

My main takeaway is different kernels perform differently on different tasks. Based on this total score, lts still wins on my machine. However, there is a noted improvement with the newer cacule (could that be in part due to self-compiling it recursively?)

Would love to see other people's results from similar tests!

3 Likes

The thing about benchmarks is that a kernel which gives objectively best performance due to higher numbers in a benchmark can still give worse performance when actually using the system. Lets take compilation as an example - if all the processing power is used to compile a kernel there wont be much of it left for other tasks (browsing for example) which leads to a worse experience in general. Likewise, if browsing is working without stuttering while compiling I expect the actual time it takes to finish to be higher than with a kernel trimmed for pure throughput.

4 Likes

That doesn’t really make sense to me.

I might have worded it badly. What I meant is that your benchmark for example only runs on runlevel 3, which means only very few applications are actually active. That doesnt say anything about how the kernel behaves when running the benchmark + doing stuff meanwhile, how responsive the device feels. You get the idea? :eyes:

You don’t have to run it in runlevel 3.

That is precisely the point.

No of course not, because that is absolutely not the point :wink:

If you want to measure “benchmark + doing stuff meanwhile”, try CK’s interbench.

That said, this benchmark script is not very reliable to get exact numbers. I created it to 1) learn about bash and 2) quickly test general performance, that is at least somewhat comparable across different kernels.

1 Like

Maybe late to the party here but kernel seems to run fine for me with games since you asked about that specifically. Without doing in depth bench-marking it's hard for me to say if it's better or worse or same for games, but it feels similar in real world usage. Happy to help in any way I can but am no Linux Guru so let me know if you need something specific.

3 Likes