* Linux 6.12 new preemption models
@ 2025-01-01 22:51 Leo Famulari
2025-01-03 18:15 ` kiasoc5
0 siblings, 1 reply; 3+ messages in thread
From: Leo Famulari @ 2025-01-01 22:51 UTC (permalink / raw)
To: guix-devel
FYI, Linux / linux-libre 6.12 introduces a new set of preemption
options:
------
Preemption Model
1. No Forced Preemption (Server) (PREEMPT_NONE)
> 2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)
3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT)
4. Fully Preemptible Kernel (Real-Time) (PREEMPT_RT) (NEW)
------
These options trade between kernel throughput and latency.
PREEMPT_NONE is how the kernels worked before 6.12.
The trade-off made in PREEMPT_VOLUNTARY is suggested for desktops, so
I'm going to select it for our 6.12 kernel packaging and it will
presumably remain so for future versions as well.
But if you are building Guix kernels for a busy server or HPC, you
should select PREEMPT_NONE. And you might have use cases for the other
options as well.
Let me know if you disagree.
References:
https://cateee.net/lkddb/web-lkddb/PREEMPT_NONE.html
https://cateee.net/lkddb/web-lkddb/PREEMPT_VOLUNTARY.html
https://cateee.net/lkddb/web-lkddb/PREEMPT.html
https://cateee.net/lkddb/web-lkddb/PREEMPT_RT.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Linux 6.12 new preemption models 2025-01-01 22:51 Linux 6.12 new preemption models Leo Famulari @ 2025-01-03 18:15 ` kiasoc5 2025-01-03 18:21 ` Leo Famulari 0 siblings, 1 reply; 3+ messages in thread From: kiasoc5 @ 2025-01-03 18:15 UTC (permalink / raw) To: Leo Famulari, guix-devel On 1/1/25 17:51, Leo Famulari wrote: > FYI, Linux / linux-libre 6.12 introduces a new set of preemption > options: > > ------ > Preemption Model > 1. No Forced Preemption (Server) (PREEMPT_NONE) >> 2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY) > 3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT) > 4. Fully Preemptible Kernel (Real-Time) (PREEMPT_RT) (NEW) > ------ > > These options trade between kernel throughput and latency. > > PREEMPT_NONE is how the kernels worked before 6.12. > > The trade-off made in PREEMPT_VOLUNTARY is suggested for desktops, so > I'm going to select it for our 6.12 kernel packaging and it will > presumably remain so for future versions as well. > > But if you are building Guix kernels for a busy server or HPC, you > should select PREEMPT_NONE. And you might have use cases for the other > options as well. > > Let me know if you disagree. > > References: > https://cateee.net/lkddb/web-lkddb/PREEMPT_NONE.html > https://cateee.net/lkddb/web-lkddb/PREEMPT_VOLUNTARY.html > https://cateee.net/lkddb/web-lkddb/PREEMPT.html > https://cateee.net/lkddb/web-lkddb/PREEMPT_RT.html > How about PREEMPT_DYNAMIC: https://cateee.net/lkddb/web-lkddb/PREEMPT_DYNAMIC.html This enables changing between PREEMPT_NONE, PREEMPT_VOLUNTARY, and PREEMPT at boot time. Then the only kernel that needs to be compiled separate is PREEMPT_RT. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Linux 6.12 new preemption models 2025-01-03 18:15 ` kiasoc5 @ 2025-01-03 18:21 ` Leo Famulari 0 siblings, 0 replies; 3+ messages in thread From: Leo Famulari @ 2025-01-03 18:21 UTC (permalink / raw) To: kiasoc5; +Cc: guix-devel On Fri, Jan 03, 2025 at 01:15:42PM -0500, kiasoc5 wrote: > How about PREEMPT_DYNAMIC: > https://cateee.net/lkddb/web-lkddb/PREEMPT_DYNAMIC.html > > This enables changing between PREEMPT_NONE, PREEMPT_VOLUNTARY, and PREEMPT > at boot time. Then the only kernel that needs to be compiled separate is > PREEMPT_RT. Good suggestion! Turns out it's already enabled :) ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-01-03 18:21 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-01-01 22:51 Linux 6.12 new preemption models Leo Famulari 2025-01-03 18:15 ` kiasoc5 2025-01-03 18:21 ` Leo Famulari
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.