Wie bekommen wir diesen magischen, leistungssteigernden 200-Linien-Patch?

66

Ich lese heute auf Phoronix , dass es ein 200 Zeilen-Patch zum Linux-Kernel, was die Reaktionsfähigkeit des Desktops erheblich verbessert.

Wie können Ubuntu-Benutzer dies auf eine Weise erhalten, die unterstützt wird?

    
popey 17.11.2010, 00:13

6 Antworten

59

Die Diskussion zu diesem spezifischen Patch fand in der Ubuntu Kernel-Team Mailingliste statt:

Link

Aber lassen Sie mich versuchen, noch generischer über die beste Art und Weise zu sprechen, wie ein Patch seinen Weg in den Ubuntu-Kernel finden kann ...

Erstens ist es die bevorzugte Richtlinie des Ubuntu Kernel-Teams, dass Patches eingereicht und akzeptiert werden, bevor sie in den Ubuntu-Kernel übernommen werden. Es ist eine große Wartungslast für das Ubuntu Kernel-Team, dass es keine Tree-Patches mehr pflegen muss. Wenn der Patch der gesamten Kernel-Community zugutekommt, sollte er darüber hinaus zuerst nach oben gehen.

Sobald der Patch upstream akzeptiert wurde, wird er automatisch in den Ubuntu Kernel gelangen. Eine Cherry-Pick oder Pull-Anfrage könnte auch gemacht werden, wenn Sie möchten, finden Sie auf der Seite KernelPatches weitere Informationen Informationen.

Wenn der Patch als SRU ( stable release update ) auf eine frühere Ubuntu-Version angewendet werden muss, ist es am besten, die Patch in den entsprechenden Upstream-stabilen 2.6.xy-Baum akzeptiert. Als Teil unseres normalen Kernel-SRU-Prozesses werden wir kontinuierlich auf den neuesten Upstream-Stable-Kernel umstellen. Somit würden wir den Patch irgendwann wieder automatisch bekommen.

    
Leann Ogasawara 17.11.2010, 00:37
20

Ich habe gerade den lkml-Thread gelesen und hoffe, dass ich einige Informationen anbieten kann - aber nicht darum, den Patch in Ubuntu zu bekommen. Wie ein Beitrag auf der verlinkten Ubuntu-Liste sagt, wird es wahrscheinlich sowieso in 2.6.38 sein.

Der Patch gruppiert den Prozess automatisch basierend auf TTYs. Es gibt viele Diskussionen / Argumente auf der lkml, die sagen, dass dies für die typische Desktop-Nutzung nicht relevant ist - dass es für interaktive Anwendungen keinen Unterschied macht. Die Testfälle basieren alle darauf, "eine CPU-intensive Aufgabe von einem Terminal zu starten und dann die Reaktionsfähigkeit einer anderen Aufgabe zu betrachten". Also kompiliere einen Kernel und versuche zum Beispiel ein Video anzuschauen.

Das soll nicht heißen, dass es nicht gut ist, aber die allgemeinen "Desktop-Responsivität, die um Größenordnungen verbessert wurde" -Tipps könnten irreführend sein, wenn Sie niemals CPU-intensive Aufgaben ausführen, die mit einem TTY verbunden sind. Ich könnte natürlich natürlich falsch liegen!

Es gab einige Erwähnungen von Möglichkeiten, ein sehr ähnliches Ergebnis zu erzielen, indem Sie Ihre Bash-Skripte hinzufügen und allen Benutzern erlauben, Kontrollgruppen zu erstellen. Dies funktioniert nur, wenn aktuelle Ubuntu-Kernel cgroups aktiviert haben. Die relevanten Beiträge sind:

Offensichtlich beantwortet das nicht die Frage, aber es könnte verwendet werden, um festzustellen, ob der Patch so magisch ist wie erhofft.

    
Roger Light 17.11.2010 12:23
12
  

Wie können Ubuntu-Benutzer dies auf eine Weise erreichen, die unterstützt ist?

Schwerpunkt meiner. Der einzige Weg, wie Sie es auf eine unterstützte Art und Weise erhalten, besteht darin, darauf zu warten, dass Ubuntu es in den Ubuntu-Kernel zieht. Da es sich wirklich nur um die Kernel-Mailing-Liste handelt, ist es so frisch, dass alle Tests ziemlich anekdotisch sind, und ich kann mir vorstellen, dass es einige Zeit dauern wird, bis es für den Masseneinsatz bereit ist.

Irgendwo zwischen der nächsten Veröffentlichung und einer langen Zeit wäre meine ungebildete Vermutung.

Aber wenn du ein großer Junge (oder ein Mädchen) bist und du mit einem kaputten Kernel zurechtkommst, wenn etwas schief geht (dh du kannst grub verwenden), kannst du deinen eigenen Kernel patchen und kompilieren.

  1. Laden Sie einen Patch herunter. Es gibt verschiedene Versionen, aber die beste selbst wurde unten von einem anderen Benutzer veröffentlicht: link

  2. Laden Sie die Kernelquelle für die Version herunter, auf die Ihr Patch zielt. In diesem Fall 2.6.36. Sie können Kernel-Quellen von kernel.org (die vom Kernel-Team von Ubuntu nicht verändert wurden) erhalten und extrahieren.

  3. Speichern Sie den Patch irgendwo und übernehmen Sie ihn mit cd in das Quellverzeichnis des Kerns und führen Sie ihn aus: patch -p1 < /path/to/patch (Sie benötigen dazu das patch -Paket ... Was ich denke, kommt als Teil von build-essential wenn es nicht standardmäßig installiert ist)

  4. Und dann weiter mit der Rest des "altmodischen" Build-Prozesses ... Ich würde mich wirklich nicht mit den neueren Methoden beschäftigen, da sie auf Ubuntu / Debian-sanktionierte Kernel-Quellen abzielen ... Außerdem scheint der alte Weg einfacher zu sein ( zu mir).

Das Erstellen von Kernen ist nicht schwer, aber Sie können es durcheinander bringen, wenn Sie zu weit vom akzeptierten Pfad abweichen. Und wenn etwas schief geht, bekommen Sie keine offizielle Unterstützung.

Alternativ gibt es mehr und mehr Kernel, die mit dem Patch erstellt werden (oder zumindest in der Quellstruktur, die auf die nächste Version warten).

  • Ich glaube, Zen Kernel hat diesen Patch in ihrem Baum, aber ich bin mir nicht sicher, ob es in irgendwelchen Builds ist.
  • Der Liquorix-Kernel hat dies jetzt auch gebacken.

Hinweis: diese beiden Kernel (und wahrscheinlich auch andere) weichen etwas von der Ubuntu-Art ab, Kernel zu machen. Sie können feststellen (wie ich es tat, als ich zu Liquorix wechselte), dass die CPU-Frequenzskalierung aufhört zu arbeiten oder das Suspendieren unterbrochen wird. Es gibt normalerweise Fixes und Workarounds, aber die Chancen stehen gut, dass Sie keine Unterstützung von AskUbuntu oder dem Rest der Ubuntu-Community bekommen, da wir nicht jeden einzelnen Kernel da draußen überprüfen können.

    
Oli 17.11.2010 00:23
5

Sie können einen einfachen "Hack" verwenden, der von einem RedHat-Entwickler in einer Mailing-Liste gepostet wird, bei dem der Kernel nicht gepatcht werden muss, um das gleiche zu erhalten. Lesen Sie hier darüber: Alternative zum "200 Lines Kernel Patch, das Wunder tut "Welche Sie sofort verwenden können

    
Alin Andrei 18.11.2010 16:43
1

Seit dem 2011-01-18 enthält Linux 2.6.38-rc1 den besagten Patch.
Siehe die Neuigkeiten von Phoronix und Linus Beitrag .

Seit dem 29.01.2011 werden die Natty Narwhal täglich mit Linux 2.6.38 gebaut.

Also, es gibt derzeit zwei Lösungen:

  • Holen Sie sich das neueste Ubuntu 11.04-Image .
  • Oder warten Sie auf die neueste offizielle Version von Ubuntu 11.04 im April 2011.
Maxime R. 19.01.2011 15:11
0

Ich habe gerade diese Diskussion ausgewählt und es ist sehr interessant. Ich habe einen kleinen Blogpost geschrieben, in dem beschrieben wird, wie man den cgroup-Patch auf Ubuntu 10.10 aktiviert.

Ich habe nicht wirklich getestet, ob es funktioniert oder nicht, Feedback wäre also großartig!

    
stefanlsd 17.11.2010 20:52

Tags und Links