pdreker hat geschrieben:Bin ich nicht ganz mit einverstanden. Wenn man spezielle Features haben will oder neuere Treiber braucht um Hardware richtig benutzen zu koennen, koennen einzelne Patches *sehr* nuetzlich sein.
Die Frage des OP war aber sehr allgemein gestellt. Wenn man natürlich ein Feature braucht, dass im Standardkernel nicht drin ist, kommt man ja gar nicht um einen Patch herum.
Die Vanilla Kernel sind aber mit Sicherheit die Stabilsten (ob auch die Besten, darüber kann man sicherlich streiten), da sie die mit Abstand grösste Testbasis haben. Selbst die meisten Distri Kernel sind oft mit soviel Beta Kram vollgestopft, dass man es gar nicht glauben will. Debian ist in der Hinsicht eher die rühmliche Ausnahme.
Da kann ich wenig sinnvolles drueber sagen, ich habe schon laenger keine Vendor Kernel wirklich benutzt (ausser fuer's Installationssystem.) Gehoert habe ich allerdings auch recht haarstraeubende Sachen ... Dass sehr weites Testen ausserordentlich wichtig ist, stimmt natuerlich. Aber ein Kernel den ich fuer genau eine Maschine erstelle, braucht lang nicht all diese Anforderungen erfuellen. Es ist mir z.B. egal, ob manche Features auf irgendwelchem NUMA oder SMP Kisten moeglicherweise Oopsen, solange ich mich hier noch mit einen Singleprozessor rumschlagen muss.
Die Vanilla Kernel sind auch ganz und gar nicht "der kleinste gemeinsame Nenner" sondern es sind halt die offiziellen Kernel und in diesen müssen einfach bestimmte Standards eingehalten werden, was die Erprobung und die Qualität des Codes angeht. Diese werden von den meisten Patches einfach nicht erfüllt: die separaten Patches sind normalerweise sozusagen die Brutstätten neuer Ideen. Dort wird herumprobiert, gebastelt und getestet ohne dass man sich die teilweise sehr strengen Regeln des Vanilla Kernel auferlegen muss. In Patches kann man Hacks, Tweaks und Experimente machen. Dass diese Kernel dennoch oftmals stabil laufen, ist eher ein Zeichen für die allgemein hohe Codequalität in diesem Bereich. Der eigentliche Orientierungspunkt für die periphäre Kernelentwicklung sind die Patches und nicht der Vanilla Kernel. Diese zeigen nämlich, was "in der Mache" ist, während der Mainline (Vanilla) Kernel nur die Rosinen rauspickt, und dabei sehr konservativ gehalten ist.
Mit "kleinster gemeinsamer Nenner" meinte ich genau das, erprobte Standards, die auf allen moeglichen Architekturen, Systemen und Konfigurationen stabil laufen muessen. Hier liegen wir also nicht sehr weit auseinander. Von Developern wie Andrew Morton und Con Kolivas erwarte ich uebrigens _absolut_ dass sie mit derselben Sorgfalt arbeiten, die auch fuer Mainline Sachen erwartet wird. (Nicht umsonst kommen die meisten Sachen aus diesen Trees frueher oder spaeter auch in Vanilla.) Die meisten Interactivity und Scheduler Sachen kamen z.B. direkt aus dem -ck Tree in 2.6.
Gerade auf einem Desktop Produktionssystem würde ich eher Abstand vom ck Patchset halten, da dieser teilweise doch sehr experimentell ist. ReiserFS4 würde ich noch keine wichtigen Daten für die tägliche Arbeit anvertrauen, auch wenn NameSys bisher exzellente Arbeit geleistet hat, was die Codequalität angeht. Auch die Scheduler Patches sind aus einem einfachen Grund nicht in Mainline enthalten: sie sind sehr speziell, d.h. sie funktionieren bei bestimmten Workloads sehr gut, während sie bei anderen übel degradieren. Wenn man diese Workloads vermeiden kann, sind sie natürlich ein willkommener Bonus. Auf der anderen Seite: Ich kann mit dem Vanilla 2.6.4 der hier läuft, während eines Kernel-Compiles und während gleichzeitig Dateien von meiner externen USB2 Platte auf die Systemplatte kopiert werden problemlos MP3 hören, ohne dass es aussetzt...
Du hast natuerlich Recht, dass der -ck sehr experimentell ist, reiserfs4 [1] benutze ich auch noch nicht, z.B., auf einer Produktionsmaschine wuerde ich das auch vorerst nicht machen. (Obwohl ich zugegebenermassen damit spiele es mal auszuprobieren. Die groessten Vorteile haette man wohl mit reiser4 als / - fs, und das mache ich sicherlich nicht auf einem System was ich im Moment lieber nicht neuinstallieren.)
Die interactivity Sachen machen sich hier allerdings positiv bemerkbar, das System benutzt keinen / kaum swap, es lagert auch nach Stunden arbeiten einen mozilla oder ein openoffice nicht aus. Mit einem Vanilla (najaaa, vanilla ... mit ein paar kleinen Patches, die aber damit nichts zu tun haben
![Wink ;)](./images/smilies/icon_wink.gif)
), war das Auslagerungsverhalten wesentlich schlechter, wenn ich nach ein paar Stunden idle z.B. einem Mozilla von einem anderen Virtual Desktop aktiviert habe, musste das erstmal aus dem Swap gelesen werden, obwohl genug RAM da war. Als ich gestern mein System prelinkte, habe ich davon kaum was gemerkt, bis auf die Tatsache, dass Diskreads leicht langsamer waren, auch das war beim Vanilla lang nicht so angenehm (obwohl traumhaft im Vergleich mit 2.4).
Bootsplash benutze ich schon laenger, ich kann die Gruende es nicht in Vanilla aufzunehmen teilweise verstehen. Man sagt auf LKML, dass sowas nicht in den Mainstream gehoert, das wuerden sich die Vendors eh selber reinpatchen. Es ist aber auf jeden Fall sehr nett, dass auch so "Usability-Blackholes" wie mounten / umounten von CD Laufwerken (Ja ich weiss warum das so ist!) endlich geloest werden.
Es trifft natuerlich lang nicht fuer alle Patches zu, dass sie wegen schlechter Codequalitaet nicht aufgenommen werden, obwohl das *sicher* auch ein Grund sein kann. Andere Gruende koennen mit Releasecycles zu tun haben (featurefreeze, z.B.), mit Intrusiveness (Patch beeinflusst zu viele andere Sachen), Prioritaet von Patches wird von verantwortlichen Developern anders eingeschaetzt, Developer haben ganz einfach keine Zeit sich drum zu kuemmern. Das ganze bleibt natuerlich irgendwo subjektiv, also was aufgenommen wird, und was nicht. Obwohl ich natuerlich "zugeben" muss, dass die Developer hervorragende Arbeit leisten, und strukturelle Kritik deshalb meiner Meinung nach in den allermeisten Faellen ungerechtfertigt ist.
Ich habe auch keine Probleme mit einem eventuellen Oops, das kann meiner Meinung nach passieren, wenn man experimentelle Patches verwendet, meine Daten sind eh alle auf einem NFS Laufwerk, d.h. damit wird nicht viel unangenehmes passieren, der 2.6.4-ck2 laueft hier hervorragend stabil, ich konnte bisher keine "Verschlechterungen" gegenueber einem 'halbwegs" Vanilla Kernel entdecken. Das beruehmte "
works for me. (tm)"
Vielleicht muss ich mir auch erstmal eine richtig blutige Nase holen, bevor ich der Ueberzeugung bin, dass ich Vanilla benutzen moechte. Naja, und irgendwer muss den kraM ja auch testen, das trifft in erster Linie fuer -mm zu, aber ganz sicher auch fuer -ck.
Ein weiteres Beispiel sind Patches fuer Software Suspend, ich teste regelmaessig development Versionen davon, weil's mich a) sehr interessiert wie die Entwicklung laeuft (Ich schreibe im Moment an meiner Diplomarbeit ueber OSS Development) und b) weil es den Gebrauchswert meines Notebooks immens erhoeht.
Ich habe nichts dagegen Bleeding Edge zu sein... Ich habe monatelang KDE CVS benutzt, ich verwende seit Jahren SID, aber was den Kernel angeht bin ich dann eher konservativ: Da gehe ich nur so weit, wie ich gehen muss... Wenn der Kernel Macken hat, kann die ganze Kiste unbrauchbar sein. Wenn's im Userland hakt funktioniert halt eine Anwendung nicht. Schlimmstenfalls funktioniert eine Lib nicht, und alle Anwendungen, die darauf basieren sind unbrauchbar.
Andererseits hat man im Idealfall sowieso mehrere Kernels installiert, und kann immer auf einen stabilen zurueckfallen, wenn man Probleme bemerkt. Wenn man einen Stapel kaputte libs hat, oder gar der Desktop komplett b0rken ist, ist das wesentlich aufwendiger als eben zu rebooten. (Probleme mit dem Filesystem sind natuerlich was anderes ...)
Umpf... Ist ganz schön lang geworden
![Wink ;-)](./images/smilies/icon_wink.gif)
Aber so ein bisschen "ranten" hat ja Tradition in der Szene
Klar, nichts geht ueber eine gut gefuehrte Diskussion, und hier gibt's (imho) eh viel zu wenig Leute die sich mal ein paar Minuten Zeit nehmen fuer eine Reaktion. Zum Thema rant las ich gestern noch eine sehr nette Diskussion, ist zwar in diesem Zusammenhang vollkommen offtopic (tm), aber das Lesen hat trotzdem sehr viel Spass gemacht, auch wegen des "historischen Hintergrundes", check [2]
Aber das kann ja zum Glück jeder für sich selbst entscheiden.
Ja, das ist genau der Punkt, der verhindert dass man sich in die Haaere bekommen sollte. Schoen, dass wir die Wahl haben.
[1]
http://kerneltrap.org/node/view/2761
[2]
http://kerneltrap.org/node/view/2067
Magic is always the best solution -- especially reliable magic.