Wie preemptiv ist Dein Kernel?

  • Welche Option ist in Deinem Kernel eingestellt? 13

    1. PREEMPT_DYNAMIC (13) 100%
    2. PREEMPT_NONE (0) 0%
    3. PREEMPT_VOLUNTARY (0) 0%
    4. PREEMPT_RT (0) 0%
    5. PREEMPT_DESKTOP (0) 0%

    Hallo, ich befasse mich gerade mit den verschiedenen Kernel Versionen für Linux. Deren Module, Varianten und was die Parameter dahinter bedeuten. Nun habe ich gelesen, dass u.A. die hinterlegte Preemtion Option dafür zuständig ist, den Grad der Multitasking-Fähigkeit zu beeinflussen.

    Kurze Erläuterung: https://de.abcdef.wiki/wiki/Kernel_preemption

    Folgende Modis stehen hier zur Verfügung:

    • PREEMPT_NONE: Der Kernel ist nicht preemptiv. Er kann nicht unterbrochen werden, um die Ausführung anderer Aufgaben zu ermöglichen.
    • PREEMPT_VOLUNTARY: An bestimmten Punkten lässt er sich unterbrechen - für schnellere Reaktionszeit, aber keine volle Echtzeitfähigkeit.
    • PREEMPT_DYNAMIC: Zwischenstufe oder Kompromiss zwischen den beiden oben genannten. Hier kann er unterbrochen werden um andere Aufgaben auszuführen. Bessere Reaktionsfähigkeit mit einer gewissen Echtzeitfähigkeit, ohne die Stabilität zu gefährden.
    • PREEMPT_RT: RealTime bietet die höchste Echtzeitfähigkeit. Ein Echtzeit-Kernel hat für diese Option allerdings ein Patch-Set, welches weitere, komplexere Angaben im Hauptzweig benötigt.
    • PREEMPT_DESKTOP: Erweiterter Modus von Voluntary. Weitere Preemtion-Punkte werden hier im Code quasi "frei geschaltet" um die Reaktionszeit auf Desktop-Systemen zu verbessern.

    Wie fast Alle hier (denke ich zumindest) verwende ich den Standard Kernel meiner Distribution. Die ausgelieferte Version ist hier nebensächlich.

    Eine Ausgabe von uname -v zeigt:

    Mein verwendeter Kernel ist mit der "dynamic" Option parametriert worden. Nun habe ich allerdings gelesen, dass für ein Desktop-System wie ich es primär nutze, mit einer Umgebung wie GNOME, xfce, MATE oder KDE und die vielzahl an Programmen die man so braucht, eine PREEMPT_DESKTOP Option dazu beitragen kann, ein flüssigeres Benutzererlebnis zu gewährleisten. Die Systemantwort soll auf Benutzereingaben und Desktop-Aufgaben verbessert sein. Nicht das mein System jetzt langsam ist, ganz im gegenteil. Aber, ich bin darauf bedacht, das die Software-Ebene auf den bestmöglichen Weg und am effektivsten mit der Hardware kommuniziert. Und natürlich alle Features voll ausnutzen. Auch denke ich, um so optimierter das Betriebssystem läuft und z.B. die CPU nutzt, die Last und somit der Stromverbrauch verbessert wird. Für meine PI's oder z.B. kleine ThinClients nicht uninteressant.

    Daher interessiert mich jetzt, welche Option wird am meisten in der Standardvariante ausgeliefert, ob nun Distributed, Mainline, Stable oder Vanilla spielt keine Rolle.

    Der einfachste Weg auszulesen, wie der Kernel konfiguriert (ausgeliefert) wurde ist, man schaut sich die config.gz Datei im /proc Verzeichnis an. Mit diesem Befehl sieht die Ausgabe wie folg aus:

    zcat /proc/config.gz | grep PREEMPT

    Wer in der Abstimmung einmal angibt, welche Option in seinem Kernel eingestellt ist, spart mir schon mal viel Zeit und Arbeit, diverse Distributionen in einer VM zu installieren und selber nach zu schauen. Zumindest hat man eine Angabe, welche Option am meisten vertreten ist. Wer die Angabe "PREEMPT_DESKTOP=y" bei sich erhält, würde ich mich freuen, wenn dann noch gepostet wird, welche Distribution und welcher Kernel verwendet wird.

    Danke für Eure Forschungsergebnisse :)

  • Code
    gonzo on arch-linux ~ 
     ->  uname -v
    #1 SMP PREEMPT_DYNAMIC Tue, 10 Oct 2023 21:10:21 +0000

    Archlinux kernel 6.5.7-arch1-1

    Fragen Sie jemanden, der sich damit auskennt - am besten nicht den Administrator

    Archlinux Openbox / ASUS R503C-SX051H - Intel Core i3-2350M + HD-Grafik 3000 + 8 GB DDR3 + 490 GB SSD
    Archlinux Xfce / DELL Inspiron 3542 - Intel Pentium 3558U + 8 GB DDR3 + 490 GB SSD
    Voidlinux Xfce / DELL Inspiron 15z - Intel Core i5-3317U + 4 GB RAM + 240 GB SSD

  • Void Linux kernel 6.5.7_1

    Fragen Sie jemanden, der sich damit auskennt - am besten nicht den Administrator

    Archlinux Openbox / ASUS R503C-SX051H - Intel Core i3-2350M + HD-Grafik 3000 + 8 GB DDR3 + 490 GB SSD
    Archlinux Xfce / DELL Inspiron 3542 - Intel Pentium 3558U + 8 GB DDR3 + 490 GB SSD
    Voidlinux Xfce / DELL Inspiron 15z - Intel Core i5-3317U + 4 GB RAM + 240 GB SSD

  • Endeavour Kernel

    Code
    #1 SMP PREEMPT_DYNAMIC Tue, 10 Oct 2023 21:10:21 +0000


    Mainboard: MSI Z170-A Pro

    Prozessor: Intel i7 6700K

    Grafikkarte: AMD RX 7800 XT

    OS: EndeavourOS

    Desktop: KDE

  • Wir wissen doch, was gemeint ist.

    Echt? Ich verstehe hier nur Bahnhof ... :/

    OS: Arch Linux | Desktop: KDE Plasma 6.2.4 | Kernel: Linux-Zen 6.12.4

    MSI MAG X570 Tomahawk WIFI | AMD Ryzen 9 3900X | 2x 16 GB G.Skill RipJaws V DDR4-3200 | Sapphire NITRO+ AMD Radeon RX 7800 XT | Seasonic Prime PX-750 80+ Platinum

  • Code
    ╭─ktt73@KTTs-Kiste /home/ktt73  ‹system› 
    ╰─$ uname -v
    #1 ZEN SMP PREEMPT_DYNAMIC Tue, 10 Oct 2023 21:09:57 +0000

    Garuda 6.5.7-zen1-1-zen

    PC | AMD Ryzen 7 3700X - NVIDIA GeForce RTX 2070 Super - 32 GB RAM - 1 TB NVME - 1 TB HDD - CachyOS

    Lappi | Intel I3 - 16 GB RAM - 128 GB SSD - MX-Linux

    Homi | Intel Atom 3 - Intel Grafik - 8 GB RAM - 1x 128 GB SSD - 2x 4 TB Seagate IronWolf HDD im RAID - Debian mit OMV

    ________________________________________________________________________________

    RADIO TEAM BAWÜ - Wir haben Spaß an Musik!!!

    IPV64.net <-- DynDNS Service der Extraklasse

  • Da Debian und Void hier schon anzeigt wurden (und bei mir genauso aussehen),

    hier noch ein von einer meiner Linux Mint Kisten via cat /boot/config-5.15.0-86-generic

    erzeugtes Ergebnis (zur Kürze die zugehörigen Zeilen herauskopiert)

    ... und das wars dann auch schon.

    Keine Alternativen ? Kein Mitleid !

  • Bei mir dass Gleiche

    Code
    #1 SMP Fri May 20 08:26:00 CEST 2022

    Kernel Version 5 hat diese Option noch gar nicht.


    Am Laptop gibts bei Kernel 6.1 nur 3 Auswahlmöglichkeiten.


    Die Meisten Distributionen werden hier Desktop nutzen da es auch vom Kernel selber Empfohlen wird und es damit die wenigsten Probleme geben wird.

    Noch dazu wird in meinen Augen eine Umstellung dieser Option nicht viel mehr Leistung bringen.

    Denn was bringt es diese Option hier zu "Optimieren" aber der Compiler mit dem der Kernel gebaut wird läuft auf -march=nativ. Auch die Software wurde Allgemein übersetzt ist also überhaupt nicht Optimiert worden beim compilieren.

    Wenn die Low-Latency Desktop Option gesetzt wird muss dass komplette System darauf optimiert werden und ist wohl eher für besondere PC Configurationen.

    Denn meistens wird wohl bei einem Otto Normal User dass System nicht so enorm und auch dauerhaft ausgelastet sein.

  • Die Meisten Distributionen werden hier Desktop nutzen da es auch vom Kernel selber Empfohlen wird und es damit die wenigsten Probleme geben wird.

    faxxy Das war auch meine Vermutung, aber bei den meisten ist wie Du siehst der Modus Dynamic gewählt, anstatt Desktop. Und das wundert mich.

  • faxxy Das war auch meine Vermutung, aber bei den meisten ist wie Du siehst der Modus Dynamic gewählt, anstatt Desktop. Und das wundert mich.

    Wie von dir geschrieben ist es ein kompromiss zwischen geschwindigkeit und stabilität. Deswegen werden die das einsetzen denke ich mal.

  • Ach, Du weißt doch bestimmt, wie ich das meine. :)

    Denke schon. Aber ich verstehe trotzdem nur Bahnhof ... :D

    OS: Arch Linux | Desktop: KDE Plasma 6.2.4 | Kernel: Linux-Zen 6.12.4

    MSI MAG X570 Tomahawk WIFI | AMD Ryzen 9 3900X | 2x 16 GB G.Skill RipJaws V DDR4-3200 | Sapphire NITRO+ AMD Radeon RX 7800 XT | Seasonic Prime PX-750 80+ Platinum

  • So hab mir heute aus Spaß mal einen Kernel (Version 6.1.53-r1) mit Low-Latency Desktop gebaut.

    Hier der Kernel mit Voluntary Kernel Preemption (Desktop)

    Code
    #2 SMP PREEMPT_DYNAMIC Mon Oct 16 06:30:58 CEST 2023

    Hier die Einstellungen dazu

    und zum Vergleich der Kernel mit Preemptible Kernel (Low-Latency Desktop)

    Code
    #3 SMP PREEMPT_DYNAMIC Mon Oct 16 07:11:39 CEST 2023

    Hier wieder die Einstellungen dazu

    Wie man sieht sind es unterschiedliche Kernel Configurationen. Es steht jedoh bei beiden PREEMPT_DYNAMIC.

    Ich weis nicht ob dass ein Version 6.1 Bug ist, ich hab im Moment auch keine Zeit und Lust auf einen unstable Kernel zu wechseln um es zu testen.

    Ach und zu den Verschiedenen Modis die in Post 1 angesprochen wurden, ja es gibt 5 aber die wenigsten werden zwischen diesen Wechseln können da es im Normalen Kernel nur 3 Modis gibt. Die letzten beiden Modis kann man nur mit einem RealTime Kernel und dem Patchset dazu auswählen.


    Quelle: Preemption Models

  • #1 SMP PREEMPT_DYNAMIC Wed, 11 Oct 2023 05:10:50 +0000

    Arch Linux LTS

    -----------------------------------------------------------------------------

    Lehre jemandem, wie man angelt, anstatt ihm jeden

    Tag einen Fisch zu geben.

    -----------------------------------------------------------------------------

  • Code
    #1 SMP PREEMPT_DYNAMIC Debian 6.5.3-1 (2023-09-13)


    Laptop Debian trixie/sid

    GEEKOM A7 - Linux Mint | XMG Laptop - Debian trixie | Mac Mini M4 Pro | MacBook Pro M4 Pro | iPad Pro 12.9

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!