Frage

Ich bin neu zum Kernel-Entwicklung und ich versuche, über neuen Kernel-Patch

War es hilfreich?

Lösung

Ich habe den Eindruck des Pflasters (Licht auf Detail obwohl die meisten Artikel über sie sind) war, dass es gleichmäßiger die CPU Proportionen ausgleichen kann in einer automatischen Art und Weise.

Die Linux CFS Completely Fair Scheduler hat eine Gruppe-Balancing-Verhalten für eine Weile hatte. Was dies bedeutet ist, dass, wenn der Benutzer A beginnt 500 Aufgaben und Benutzer B startet nur ein, sollte der Fairness Gleichgewicht zwischen den Benutzer , nicht die Aufgaben.

Zu diesem Zweck alle Benutzer A-Jobs sollten in einer Gruppe sein und alle Benutzer B Arbeitsplätze in einem anderen, und die CPU wird zu gleichen Teilen unter ihnen geteilt werden - Benutzer A nicht mehr Kapazität bekommen, nur weil sie sind anti-sozial mehr Aufgaben ausgeführt werden.

Jedoch wurde die Fairness entweder basierend auf Benutzer-ID (dynamisch) oder Kontrollgruppen (eine relativ schmerzhafte, statische Setup-Methode).

Was dieser Patch zu tun scheint, ist automatisch Aufträge an eine Gruppe auf ihre TTY Basis zuzuweisen. Auf diese Weise wird die Trennung in Gruppe eine automatische Funktion (keine Kontrollgruppen einrichten), und eine, die als Benutzer-ID auf einem feineren Korn passiert (da typische Desktops nur wurde ein Benutzer die meisten der tut zumindest Jobs, die nicht-auto-admin ist).

Also, wenn Linus setzt sich die nächste Kernel für uns zu kompilieren, muss der massiv-parallelen Build-Prozess alle seine Aufgaben in einer Gruppe setzen und Linus kann dann VLC feuern die neueste Episode von elbe mit Änderungen an Ihren .bashrc und einigen anderen kleineren Optimierungen. Dieses im Grunde wickelt ein „automatisches“ Werkzeug um die Kontrollgruppen I zuvor erwähnt wird.

Linus hat bereits diese Benutzer-Land-Lösung verworfen, da er es will Shell unabhängig sein, und das ist nicht etwas, sollten Benutzer zu tun haben:

  

Weil es etwas, was wir wollen für alle Benutzer, es zu tun, und für alle Schalen, und stellen Sie sicher, dass es automatisch erledigt wird. Einschließlich für Benutzer, die alten Distributionen usw. haben, und macht es einfach, an einem Ort zu tun. Und dann tun Sie es für alle anderen Heuristiken wir leicht in den Kernel sehen. Und dann tun Sie es auf magische Weise ohne dass der Benutzer selbst mit zu Hinweis .

     

Auf einmal scheint es nicht, dass wunderbar mehr jeder mit bashrc zu spielen, nicht wahr?

     

Das ist, der Punkt. Sie können den Kernel ändern Push-out, und alles wird „nur Arbeit“. Wir können das Feature machen wir im Kernel haben eigentlich schon sein nützlich .

     

User-Level-Konfiguration für etwas, das sollte just Arbeit ist ärgerlich. Wir können es besser machen.

     

Um es anders auszudrücken: Wenn wir einen besseren Weg finden, etwas zu tun, sollten wir nicht sagen: „Nun, wenn die Nutzer es wollen, können sie diese tun“. Wenn es wirklich ein besserer Weg ist, etwas zu tun, sollten wir es einfach tun. Benutzer-Setup erfordert, ist nicht ein Feature.

     

Nun, ich sage nicht, dass wir nicht die Benutzer zu verwenden cgroups ermöglichen sollen. Natürlich können sie Dinge manuell tun. Aber wir sollten nicht benötigen Benutzer dumme Dinge zu tun, dass wir leichter selbst tun können.

     

Wenn die Wahl zwischen sagen, jeder ist „sollten Sie dies tun“, und „wir sollten dies für Sie tun“, werde ich jedes Mal der zweiten nehmen. Wir wissen, dass es getan werden sollte. Warum sollten wir dann jemand sagen, sonst ist es für uns zu tun?

Ich habe mit diesem Gefühl zustimmen -., Wenn Sie nur dem Benutzer sagen durften sie hatten etwas Besonderes für zusätzliche Leistung zu tun, könnte man sich nur zu nutzen "nice make -j64" bekommen anstatt "make -j64"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top