From 9bffda5eb3cec74641889132af3c2ab05e5a4215 Mon Sep 17 00:00:00 2001 From: Liam McDermott Date: Mon, 25 Mar 2024 11:13:57 -0400 Subject: [PATCH 1/2] Start on improved CPU Scheduler Latency Configuration docs. --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index e69f4f7..b3a0354 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,16 @@ Each child element of a profile defines th process(es) to assign to the profile. ## CPU Scheduler Latency Configurations +System76 Scheduler switches between these profiles depending on whether the computer is plugged into AC power. `default` is used when on battery, `responsive` on AC power. + +To check which one is currently in use run `journalctl -u com.system76.Scheduler` and look for lines like: + +```bash +Starting com.system76.Scheduler.service - Automatically configure CPU scheduler for responsiveness on AC. +``` + +To switch between profiles manually ... WHAT SHOULD GO HERE? ... + ### Default The default settings for CFS by the Linux kernel. Achieves a high level of throughput for CPU-bound tasks at the cost of increased latency for inputs. This setting is ideal for servers and laptops on battery, because low-latency scheduling sacrifices some energy efficiency for improved responsiveness. From de509f8f6875a5b96c56a959ea7e91f63cd6681f Mon Sep 17 00:00:00 2001 From: Liam McDermott Date: Mon, 25 Mar 2024 11:16:58 -0400 Subject: [PATCH 2/2] Add comment on automatic cfs-profile selection. --- data/config.kdl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/config.kdl b/data/config.kdl index ef6bc8b..1b37ae5 100644 --- a/data/config.kdl +++ b/data/config.kdl @@ -10,9 +10,11 @@ autogroup-enabled false // Latency profiles the kernel's Completely Fair Scheduler cfs-profiles enable=true { // The kernel-default values which are ideal for battery life and servers + // Selected automatically when the computer is on battery default latency=6 nr-latency=8 wakeup-granularity=1.0 bandwidth-size=5 preempt="voluntary" // Zen CFS parameters that make the desktop more responsive + // Selected automatically when the computer is on AC power responsive latency=4 nr-latency=10 wakeup-granularity=0.5 bandwidth-size=3 preempt="full" }