Vraag Hoe krijgen we deze magische, prestatieverhogende 200-lijn patch?


ik lees vandaag nog op Phoronix dat er een is 200-lijn patch naar de Linux Kernel die de responsiviteit van het bureaublad drastisch verbetert.

Hoe kunnen Ubuntu-gebruikers dit op een manier krijgen die wordt ondersteund?


66
2017-11-16 23:13


oorsprong




antwoorden:


Discussie over deze specifieke patch vond plaats op de Ubuntu kernel-team mailinglijst:

https://lists.ubuntu.com/archives/kernel-team/2010-November/013498.html

Maar laat me proberen nog algemener uit te wijden over de beste manier voor elke patch om zijn weg naar de Ubuntu-kernel te vinden ...

Ten eerste is het de voorkeur van het Ubuntu Kernel Team om patches upstream in te dienen en te accepteren voordat ze in de Ubuntu-kernel worden getrokken. Het is een grote onderhoudslast voor het Ubuntu Kernel-team om boomflarden te onderhouden. Als de patch de gehele Kernel Community ten goede komt, moet deze bovendien eerst stroomopwaarts gaan.

Zodra de patch stroomopwaarts is geaccepteerd, zal deze uiteindelijk automatisch de Ubuntu-kernel binnendringen. Een cherry-pick of pull-verzoek kan ook worden gedaan als men dit wenst, zie de pagina, KernelPatches, voor meer informatie.

Als de patch moet worden toegepast als een SRU (stabiele release-update) voor een eerdere Ubuntu-release is het het beste om de patch geaccepteerd te krijgen in de overeenkomstige upstream stabiele 2.6.x.y-tree. Als onderdeel van ons normale kernel-SRU-proces, rebasen we voortdurend naar de nieuwste upstream-stabiele kernel. Zo zouden we de patch uiteindelijk weer automatisch krijgen.


59
2017-11-16 23:37



Deze patch bevindt zich waarschijnlijk in de kernel v2.6.38, wat betekent dat deze waarschijnlijk in de Natty-release staat. We zullen beter weten wanneer de patch in de boom van Linus verschijnt. - Andy
@Andy: Update - goed nieuws: Ubuntu 11.04 Natty Narwhal die gisteren is vrijgegeven, bevat 2.6.38, die de patch bevat. - Piskvor
Helaas is de "Ubuntu kernel-team mailinglijst" link lijkt dood of onjuist. - Greenonline


Ik heb net de lkml-thread gelezen en hoop dat ik wat informatie kan bieden - hoewel niet over het verkrijgen van de patch in Ubuntu. Zoals een bericht op de gekoppelde Ubuntu-lijst zegt, zal het hoe dan ook waarschijnlijk in 2.6.38 zijn.

De patch groepeert het proces automatisch op basis van TTY's. Er is veel discussie / argument over de lkml die zegt dat dit betekent dat het niet relevant is voor typisch desktopgebruik - dat het geen verschil maakt voor interactieve applicaties. De testgevallen zijn allemaal gebaseerd op "start een CPU-intensieve taak vanaf een terminal en kijk vervolgens naar de responsiviteit van een andere taak". Dus compileren van een kernel en proberen een video te bekijken, bijvoorbeeld.

Dat wil niet zeggen dat het niet goed is, maar de algemene "desktop responsiviteit verbeterd door een orde van grootte" type krantenkoppen zou misleidend kunnen zijn als je nooit CPU-intensieve taken uitvoert die verbonden zijn met een TTY. Ik kan natuurlijk wel fout zitten!

Er waren enkele vermeldingen van manieren om een ​​vergelijkbaar resultaat te bereiken door aan je bash-scripts toe te voegen en alle gebruikers toe te staan ​​om cgroups te maken. Dit werkt alleen als de huidige Ubuntu-kernels cgroups hebben ingeschakeld. De relevante berichten zijn:

Het is duidelijk dat dit de vraag niet beantwoordt, maar het kan worden gebruikt om te bepalen of de patch zo magisch is als gehoopt.


20
2017-11-17 11:23



Ik denk dat meer mensen dit moeten realiseren. - Roddie


Hoe kunnen Ubuntu-gebruikers dit zo krijgen? ondersteunde?

De nadruk ligt op mij. De enige manier om het op een ondersteunde manier te krijgen, is door te wachten tot Ubuntu het in de Ubuntu-kernel trekt. Aangezien dit eigenlijk net de kernel-mailinglijst is geworden, is het zo vers dat alle testen tamelijk anekdotisch zijn en ik vermoed dat het nog wel even zal duren voordat het klaar is om in massa te worden geïmplementeerd.

Ergens tussen de volgende release en een lange tijd zou mijn ongeschoolde gok zijn.


Maar als je een grote jongen (of een meisje) bent en je een gebroken kern kunt verwerken als er iets fout gaat (je weet hoe je grub moet gebruiken), dan kun je je eigen kernel patchen en compileren.

  1. Download een patch. Er zijn verschillende versies, maar het beste op zichzelf is hieronder door een andere gebruiker geplaatst: http://pavlinux.ru/krnl/sched_autogroup-2.6.36.patch.bz2

  2. Download de kernelbron voor de versie van uw patchdoelen. In dit geval 2.6.36. Je kunt vanilla (dat is origineel, ongewijzigd door het kernteam van Ubuntu) kernelbronnen krijgen van kernel.org en pak het uit.

  3. Sla de patch ergens op en pas hem toe cding in de kernel source dir en running: patch -p1 < /path/to/patch (je hebt de patch pakket hiervoor ... waarvan ik denk dat het onderdeel is van build-essential als het standaard niet is geïnstalleerd)

  4. En ga dan verder met de rest van het "ouderwetse" bouwproces ... Ik zou me echt niet druk maken over de nieuwere methoden omdat ze zijn gericht op Ubuntu / Debian-goedgekeurde kernelbronnen ... Plus de oude manier lijkt gemakkelijker (voor mij).

Het bouwen van kernels is niet moeilijk, maar je kunt het verprutsen als je te ver van het geaccepteerde pad afdwaalt. En je krijgt geen officiële ondersteuning als er iets misgaat.


Als alternatief zijn er meer en meer kernels die opkomen met de ingebouwde patch (of in ieder geval in de source tree, in afwachting van de volgende release).

  • ik geloof Zen Kernel heeft deze patch in hun boom, maar ik weet niet zeker of deze nog in een build zit.
  • De Liquorix Kernel heeft dit nu ook gebakken.

Opmerking: beide kernels (en waarschijnlijk ook anderen) wijken enigszins af van de Ubuntu-manier om kernels te doen. U kunt vinden (zoals ik deed toen ik naar Liquorix verhuisde) dat het schalen van de CPU-frequentie stopt met werken of opschorten wordt verbroken. Er zijn meestal oplossingen en oplossingen, maar de kans is groot dat u geen ondersteuning krijgt van AskUbuntu of de rest van de Ubuntu-communtie, omdat we niet elke kernel daar kunnen controleren.


12
2017-11-16 23:23



Iemand, ergens moet deze patch al toegepast hebben in een publieke git branch. Te groot nieuws om niet te doen, maar mijn Google-fu faalt mij. - Karl Bielefeldt
@Karl zen-kernel heeft het in hun git-tree. - Oli♦
De liquorix heeft dit toegepast bij een hele reeks andere patches. Ik ren er nu op en het is best leuk. Een groot probleem voor mij (en waarschijnlijk de meeste andere gebruikers) is dat CPU_FREQ een beetje gek is. Het zit vast op PERFORMANCE. - Oli♦


Je kunt een eenvoudige "hack" gebruiken die is gepost door een RedHat-ontwikkelaar op een mailinglijst, waarvoor geen patching van de kernel nodig is om hetzelfde te krijgen. Lees er hier meer over: Alternatief voor de "200 lijnen kernel-patch die doet wonderen" die u meteen kunt gebruiken


5
2017-11-18 15:43



Voeg details van de link toe alsof deze niet-functioneel zouden worden, uw antwoord zou gebruikers niet helpen. - hexafraction


Vanaf 2011-01-18 bevat Linux 2.6.38-rc1 de patch.
Zie de gerelateerde Phoronix nieuws en Linus bericht.

Vanaf 2011-01-29 bouwen de Natty Narwhal dagelijks schepen met Linux 2.6.38.

Er zijn dus momenteel twee oplossingen:


1
2018-01-19 14:11





Ik koos deze discussie nu net op en het is heel interessant. Ik heb een kleine geschreven blogpost over het inschakelen van de cgroup-patch op Ubuntu 10.10.

Ik heb niet echt getest of het werkt of niet, dus feedback zou geweldig zijn!


0
2017-11-17 19:52