Linux CacULE (feedback & testing)

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