• Linux 6.12 New preemption model

    From vallor@21:1/5 to All on Fri Nov 22 05:29:39 2024
    Thinking about trying out the new preemption model:

    "make xconfig" screenshot:
    https://imgur.com/OvlXmF5

    From kernel/Kconfig.preempt:

    config PREEMPT_RT
    bool "Fully Preemptible Kernel (Real-Time)"
    depends on EXPERT && ARCH_SUPPORTS_RT
    select PREEMPTION
    help
    This option turns the kernel into a real-time kernel by replacing
    various locking primitives (spinlocks, rwlocks, etc.) with
    preemptible priority-inheritance aware variants, enforcing
    interrupt threading and introducing mechanisms to break up long
    non-preemptible sections. This makes the kernel, except for very
    low level and critical code paths (entry code, scheduler, low
    level interrupt handling) fully preemptible and brings most
    execution contexts under scheduler control.

    Select this if you are building a kernel for systems which
    require real-time guarantees.

    endchoice
    _ _ _ _ _ _ _

    I currently use the standard preemption:
    Linux lm 6.12.0 #1 SMP PREEMPT_DYNAMIC Tue Nov 19 11:11:40 PST 2024
    x86_64 x86_64 x86_64 GNU/Linux

    Just decided in the name of Science(!), I gotta try this, and see
    what it does to running graphical games, such as Elite Dangerous.
    Wish me luck!

    --
    -v System76 Thelio Mega v1.1 x86_64 NVIDIA RTX 3090 Ti
    OS: Linux 6.12.0 Release: Mint 21.3 Mem: 258G
    "The Majority is never right unless it includes me."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to vallor on Fri Nov 22 06:32:25 2024
    On 22 Nov 2024 05:29:39 GMT, vallor wrote:

    Just decided in the name of Science(!), I gotta try this, and see what
    it does to running graphical games, such as Elite Dangerous. Wish me
    luck!

    I’m going to stick my neck out and say this isn’t going to help.
    PREEMPT_RT is for hard realtime, like pro audio/music processing where you
    have to send/receive so many bytes every millisecond, otherwise quality noticeably suffers. Things that are limited by human reflexes, like video games, likely will not benefit. Human reflexes are measured in tenths of a second, which is plenty of time to get things done in non-realtime
    kernels.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From vallor@21:1/5 to ldo@nz.invalid on Fri Nov 22 06:52:37 2024
    On Fri, 22 Nov 2024 06:32:25 -0000 (UTC), Lawrence D'Oliveiro
    <ldo@nz.invalid> wrote in <vhp8hp$12m83$1@dont-email.me>:

    On 22 Nov 2024 05:29:39 GMT, vallor wrote:

    Just decided in the name of Science(!), I gotta try this, and see what
    it does to running graphical games, such as Elite Dangerous. Wish me
    luck!

    I’m going to stick my neck out and say this isn’t going to help. PREEMPT_RT is for hard realtime, like pro audio/music processing where you have to send/receive so many bytes every millisecond, otherwise quality noticeably suffers. Things that are limited by human reflexes, like video games, likely will not benefit. Human reflexes are measured in tenths of a second, which is plenty of time to get things done in non-realtime
    kernels.

    I was more expecting (perhaps) smoother video and audio when
    the system was under load.

    We'll have to see, I couldn't go through with it:

    dkms build of nvidia modules threw warnings about unknown
    scheduler and mutex symbols. Also, same for some Thelio modules.

    When the NVIDIA drivers catch up, I'll try it...or I might try
    nouveau, though I'm reluctant to fight with that at this late
    hour. (I think all I need is the Vulkan extensions from Mesa,
    since my game uses DXVK -- but those extensions are in pretty
    rough shape, so I've read.)

    --
    -v System76 Thelio Mega v1.1 x86_64 NVIDIA RTX 3090 Ti
    OS: Linux 6.12.0 Release: Mint 21.3 Mem: 258G
    "If it walks out of your refrigerator, LET IT GO !!"

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)