staging.inyokaproject.org

Der Ziege treues Herz: Ein Blick auf den Kernel

ubuntu_logo.png

Den Ubuntu-Nutzern legt dieses Jahr untypischerweise eine Ziege die erste Überraschung ins Osternest. Doch das ist beileibe nicht das Einzige, was Trusty Tahr zu bieten hat und einige der Neuerungen verstecken sich unter der pelzigen Oberfläche. Ein Blick auf die inneren Werte lohnt sich also.

Kam der Saftige Lurch noch mit dem damals recht aktuellen Linux 3.11 daher, wagte man für Trusty Tahr nur den Sprung über zwei Versionen hinweg auf Version 3.13.

Die Gründe hierfür dürften unter anderem darin liegen, dass es sich bei Ubuntu 14.04 wieder um eine LTS-Version mit Langzeit-Unterstützung handelt und hierfür eher „erprobte“ Kernel gegenüber frisch veröffentlichten bevorzugt werden. Außerdem kollidierte die Veröffentlichung von 3.14 am 31. März mit dem Kernel Freeze von Ubuntu 14.04 LTS am 3. April, was sich als zu knapp erwies. Nichtsdestotrotz können sich auch die hier eingegangenen Neuerungen durchaus sehen lassen.

Grafik

Die Entwickler der Treiber für Grafik-Chipsätze verschiedener Hersteller haben einiges geleistet. Die am deutlichsten für den Nutzer spürbaren Neuerungen dürften in diesem Bereich zu finden sein. Zuerst einmal dürften sich Nutzer von Laptops mit Hybrid-Grafikkarten freuen, die bislang auf die Verwendung von zusätzlichen Skripten oder Userspace-Programmen angewiesen waren. Nun wird der Linux-Kernel – beziehungsweise seine Grafik-Treiber – selbst für Nvidias Optimus- als auch AMDs Radeon-Chipsätze bestimmen können, wann welcher Grafikprozessor benötigt wird. Der Umweg über ein Userspace-Werkzeug gehört damit der Vergangenheit an.

Bereits der unter Saucy Salamander genutzte Linux-Kernel brachte Unterstützung für das dynamische Energiemanagement einiger Radeon-Chips mit, allerdings war diese Funktion noch als experimentell angesehen und daher nicht aktiv. Nun wurde Power Management für viele Radeon-Chipsätze in der Standardkonfiguration des Kernels aktiviert.

Eine Sache, die der Leistung für Radeon-Grafik zugute kommt, können sich die AMD-Entwickler jedoch nicht selbst zuschreiben. Änderungen der Methode, mittels der der Kernel die notwendige Taktfrequenz für die jeweiligen Situation ermittelt, führten zu erheblichen Verbesserungen der Grafik-Performance, wie das Portal Phoronix herausfand 🇬🇧 . Letztendlich variierte die alte Methode früherer Kernel-Versionen die Taktfrequenz sehr schnell. Diese stark schwankenden Taktraten wiederum beeinträchtigten die Grafikkomponenten, die ihre Leistung nicht voll ausspielen konnten.

Netzwerk

Einen schnelleren Aufbau von Netzwerkverbindungen soll TCP Fast Open (TFO) ermöglichen. TFO ermöglicht es, Pakete beim Verbindungsaufbau einzusparen und dadurch schneller mit der Übertragung von Nutzdaten beginnen zu können. Linux unterstützt dies sowohl auf Server- als auch auf der Client-Seite und kann damit entsprechende Anwendungen bedienen. Chromium kann bereits TFO nutzen, auch wenn dies standardmäßig ausgeschaltet ist, weiteren Browsern oder Programmen steht der Weg unter Linux nun jedoch ebenfalls offen.

Tiefschlafphasen & überfüllte Speicher

Der Punkt Tickless Multitasking war schon bei Ubuntu 13.10 ein Thema. Dessen Linux-Kernel 3.11 konnte zwar den Gebrauch der „Timeticks“ erheblich reduzieren, jedoch nicht vollkommen abschalten. Sie wurden immer noch benötigt, da eine CPU des Systems einmal pro Sekunde aus dem Schlaf geweckt werden musste, um als Zeitgeber für die anderen Prozessoren zu dienen. Die Arbeiten sind in dieser Richtung nun soweit gediehen, dass alle Prozessoren in Tiefschlaf gehen können, ohne regelmäßig geweckt werden zu müssen. Dies führt zu entsprechender Energieersparnis, solange die Prozessoren nicht durch andere Anforderungen aufgeweckt werden.

Fast jeder Nutzer kennt die Situation, wenn Arbeits- und Auslagerungsspeicher des Systems voll laufen (Out-Of-Memory) und dessen Arbeitswilligkeit damit rapide nachlässt. Aktive Prozesse konkurrieren dann um Speicher und blockieren sich in der Ausführung bisweilen gegenseitig, sodass die Betätigung des Reset-Knopfes durchaus verlockend sein kann. An dieser Stelle versucht Linux einen der laufenden Prozesse zu töten, um dessen belegten Speicher wieder frei zu bekommen und damit den Betrieb der anderen Anwendungen wieder sicherstellen zu können. Dieses Verhalten wurde nun überarbeitet, sodass Anwendungen seltener beendet werden müssen, was oftmals mit Inkonsistenzen in der Speicherverwaltung einhergeht und damit eine solche Situation durchaus auch verschlimmern kann. Stattdessen sendet Linux einem Prozess, der nach mehr Speicher fragt einen Fehler zurück, der jedoch von der Anwendung in der Regel abgefangen wird und damit nicht zum Absturz führen sollte. Reicht dies jedoch nicht aus, so entledigt sich Linux nun aller Sperren, bevor ein Prozess beendet wird, und vermeidet dadurch, dass der Speicherbereich des eben terminierten Prozesses durch einen nicht aufgehobenen Lock gegen den Zugriff anderer Prozesse geschützt wird.

Update: Wir wurden von einem Leser darauf hingewiesen, dass ein Tahr keine Ziege ist, sondern nur zur Gattung der Ziegenartigen gehört. Wir verwenden den Begriff in diesem Artikel daher etwas freizügiger als es biologisch korrekt wäre.


Quellen:

Veröffentlicht von mfm | 16. April 2014 12:30 | Kategorie: Rund um Ubuntu | # Fehler im Artikel melden

Natsume

Avatar von Natsume
1 16. April 2014 13:12

Sehr informativer Artikel, vielen Dank! Besonders erfreulich ist die Optimus-Unterstützung. Wird es auch möglich sein, die Grafikkarten, je nach Bedarf, manuell ein- oder auszuschalten?

axt

2 16. April 2014 13:59

Außerdem kollidierte die Veröffentlichung von 3.14 am 31. März mit dem Kernel Freeze von Ubuntu 14.04 LTS am 03. April, was sich als zu knapp erwies.

3.14 ist die gesamte Zeit als Mainline-Kernel verfügbar gewesen. Als vollständiger Ubuntu-Kernel kompiliert hätte man den längst nach main bringen und ausführlich testen können. Wobei sich die Arbeit seitens Canonical am Ubuntu-Kernel eh in Grenzen halten dürfte. Vor allem, wenn man die mögliche Manpower mit der der Distributionen vergleicht, die 3.14 fahren (oder sonstig eigene Kernels kompilieren).

Aber das Szenario ist bei Ubuntu nichts neues.

Vom zu blumigen Beginn des Artikels abgesehen, ist er informativ geschrieben und speziell darauf für wozu-soll-ich-denn-upgraden-User verweisbar.

Das höchst interessante Kernellog von heise scheint leider eingestellt worden zu sein (auf verschiedentliche Nachfragen in Comments reagiert auch keiner).

ede875

Avatar von ede875
3 16. April 2014 20:23

Bald kann man es auch Ubuntu 14.05 nennen.

Das_Auge

Avatar von Das_Auge
4 16. April 2014 20:24

Oh, das erscheint ja schon morgen. Naja, ich als LTS-Nutzer muss mich noch ein paar Monate gedulden. Am 24. Juli sollte es dann für unsereins so weit sein.

axt

5 16. April 2014 20:31

@4:

Du mußt Dich überhaupt nicht gedulden. Du kannst morgen selbstverständlich distupgraden (und hättest es seit Monaten auch schon können).

Bis zu .1 brauchst Du keinesfalls warten.

ingo2

Avatar von ingo2
6 16. April 2014 20:35

@4:

Am 24. Juli sollte es dann für unsereins so weit sein.

Richtig. Morgen beginnt der groß angelegte öffentliche Beta-Test.

redfoxx13

Avatar von redfoxx13
7 16. April 2014 20:51

Jupp guter Artikel.

Habe eben nur schnell mal diesen neuen Webbrowser-Dingens-App deinstalliert.

Nutze ich nicht - weg damit ☺ .

DPITTI

Avatar von DPITTI
8 16. April 2014 21:12

Benutzte Lubuntu. 14.04 mit den3.14 Kernel läuft Top.Auch meine alte Agp ATi Karte läuft sehr gut.So das ich mir das Geld noch Sparen kann für ein neuen Pc;)Danke toller Artikel werd Morgen gleich das neuste Iso ziehen habe das Alpha ISO nur.

Benno-007

9 16. April 2014 22:42

@8: Du brauchst gar nix ziehen, nach den eingespielten Updates hast du genau diesselbe finale Version, die morgen veröffentlicht wird.

ede875

Avatar von ede875
10 17. April 2014 09:36

@6 sozusagen Beta 3?

Wann kommt dann das Stable?

Wäre das die .1?

UbuntuFlo

Avatar von UbuntuFlo
11 17. April 2014 10:49

@10: Die 14.04.01 ist für den 24. Juli terminiert. Am 07. August soll dann noch 12.04.5 kommen.

@9: Stimmt grundsätzlich. Allerdings kann ich nur empfehlen, nach so langer Zeit des Testens und Dist-upgradens nochmal neu drüber zu installieren. Es bleiben viele Configs und Zeug liegen, was nicht mehr gebraucht wird.

Liebe Grüße,

Flo

TheRealBecks

Avatar von TheRealBecks
12 17. April 2014 11:11

@2: "Das höchst interessante Kernellog von heise scheint leider eingestellt worden zu sein (auf verschiedentliche Nachfragen in Comments reagiert auch keiner)."

Das stimmt zum Glück nicht. Das Kernel-Log existiert, auch zukünftig. Der Autor hatte nur dieses Mal nicht genug Zeit, die langen Artikel zu schreiben, ein Überblick zu 3.14 wurde aber dennoch veröffentlicht. Zudem meldete sich der Autor auch mehrfach in den Kommentaren zu Wort und hat bestätigt, dass er auch dieses Mal alles dafür vorbereitet hatte, aber dann doch keine Zeit hatte, und zukünftig weiterhin versucht, die vollständigen Artikel zu veröffentlichen. Nachzulesen in den Kernel-Log-Kommentaren ☺

TheRealBecks

Avatar von TheRealBecks
13 17. April 2014 11:16

axt

14 17. April 2014 11:27

@12:

Die Neuerungen von Linux 3.14 habe ich selbstredend gelesen (und natürlich auch den Kurzausblick), gut, Kernel-Log steht relativ klein darüber. Es fehlen eben die einzelnen Teile davor.

Wie das Prozessorgeflüster ist das Kernel-Log eine der besten Serien. Soetwas steht und fällt mit den fast schon unersetzbaren Schreibern.

DPITTI

Avatar von DPITTI
15 17. April 2014 20:28

@9 Danke für den Hinweis, mein Desktop PC ist dann ja auch fertig mit Lubuntu. Wollte mir nur das neuste Iso ziehen, weil ich auf mein Laptop auch Lubuntu installieren wollte. Und das wohl besser sein sollte als das Alpha Iso zu nehmen dafür.

@10 Also ich bin zufrieden, hatte mein System auf mein Desktop Pc, ja sowieso neu installiert mit der Alpha Version jetzt Final Version nach Updates. Und habe jedes mal nach den neuste Updates etc. Immer Ailurus benutzt um nicht mehr gebrauchte Pakete entfernt von daher alles top:)

DPITTI

Avatar von DPITTI
16 17. April 2014 20:29

Edit: Mein zweiter Beitrag war für @11 sorry kann ich nicht mehr bearbeiten!