Come possiamo ottenere questa patch 200 linee magica che migliora le prestazioni?


Risposte:


59

La discussione su questa specifica patch ha avuto luogo sulla mailing list del team kernel di Ubuntu:

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

Ma lasciami provare a elaborare in modo ancora più generico il modo migliore per qualsiasi patch di entrare nel kernel di Ubuntu ...

Innanzitutto, è la politica preferita del team del kernel di Ubuntu che le patch vengano inviate e accettate a monte prima di essere inserite nel kernel di Ubuntu. È un grosso onere di manutenzione per il team del kernel di Ubuntu dover mantenere le patch dell'albero. Inoltre, se la patch andrà a beneficio dell'intera Kernel Community, dovrebbe prima andare a monte.

Una volta che la patch è stata accettata a monte, alla fine entrerà automaticamente nel kernel di Ubuntu. Una richiesta cherry-pick o pull potrebbe anche essere fatta se lo si desidera, vedere la pagina, KernelPatches , per ulteriori informazioni.

Se la patch deve essere applicata come SRU ( aggiornamento di versione stabile ) a una precedente versione di Ubuntu, è meglio far accettare la patch nel corrispondente albero 2.6.xy stabile a monte. Come parte del nostro normale processo SRU del kernel, passiamo continuamente all'ultimo kernel stabile a monte. Quindi alla fine avremmo nuovamente ottenuto automaticamente la patch.


4
È probabile che questa patch si trovi nel kernel v2.6.38, il che significherebbe che è probabilmente nella versione Natty. Lo sapremo meglio una volta che la patch appare nell'albero di Linus.
Andy,

1
@Andy: Aggiornamento - buone notizie: Ubuntu 11.04 Natty Narwhal rilasciato ieri, contiene 2.6.38, che contiene la patch.
Piskvor,

Sfortunatamente, il collegamento "Mailing list del team kernel Ubuntu" sembra essere morto o errato.
Greenonline,

20

Ho appena letto il thread di lkml e spero di poter offrire alcune informazioni, anche se non per ottenere la patch in Ubuntu. Come dice un post sull'elenco Ubuntu collegato, probabilmente sarà in 2.6.38 comunque.

La patch raggruppa automaticamente il processo in base ai TTY. Ci sono molte discussioni / argomentazioni su lkml che affermano che ciò significa che non è rilevante per l'uso tipico del desktop, che non fa differenza per le applicazioni interattive. I casi di test sono tutti basati su "avviare un'attività intensiva della CPU da un terminale, quindi osservare la capacità di risposta di un'altra attività". Quindi compilando un kernel e provando a guardare un video, per esempio.

Questo non vuol dire che non va bene, ma i titoli di tipo generale "reattività desktop migliorata di un ordine di grandezza" potrebbero essere fuorvianti se non si eseguono mai attività ad alta intensità di CPU connesse a un TTY. Potrei sbagliarmi, ovviamente!

Ci sono state alcune menzioni di modi per ottenere un risultato molto simile aggiungendo ai tuoi script bash e consentendo a tutti gli utenti di creare cgroups. Funzionerà solo se i kernel Ubuntu correnti hanno i cgroup abilitati. I post rilevanti sono:

Ovviamente questo non risponde alla domanda, ma potrebbe essere usato per determinare se la patch è magica come sperato.


4
Penso che più persone debbano rendersene conto.
Roddie,

12

Come possono gli utenti Ubuntu ottenere questo in un modo che è supportato ?

Enfasi mia. L'unico modo per ottenerlo in modo supportato è aspettare che Ubuntu lo inserisca nel kernel di Ubuntu. Dato che questo sta davvero arrivando alla mailing list del kernel, è fresco al punto in cui tutti i test sono abbastanza aneddotici e immagino che ci vorrà del tempo prima che sia pronto per essere distribuito in serie.

Da qualche parte tra la prossima uscita e molto tempo sarebbe la mia ipotesi non istruita.


Ma se sei un ragazzo grande (o una ragazza) e riesci a far fronte a un kernel rotto se le cose vanno male (cioè sai come usare grub), puoi patchare e compilare il tuo kernel.

  1. Scarica una patch. Esistono diverse versioni, ma la migliore da sola è stata pubblicata di seguito da un altro utente: http://pavlinux.ru/krnl/sched_autogroup-2.6.36.patch.bz2

  2. Scarica il sorgente del kernel per la versione target della tua patch. In questo caso 2.6.36. Puoi ottenere i sorgenti del kernel vanilla (che è originale, non modificato dal team del kernel Ubuntu) da kernel.org ed estrarlo.

  3. Salva la patch da qualche parte e applicala cdinserendo nella directory dei sorgenti del kernel ed eseguendo: patch -p1 < /path/to/patch(hai bisogno del patchpacchetto per questo ... Di cui penso che provenga build-essentialse non è installato di default)

  4. E poi continua con il resto del processo di compilazione "vecchio stile" ... Non mi preoccuperei davvero dei metodi più recenti in quanto sono indirizzati a fonti del kernel sanzionate da Ubuntu / Debian ... Inoltre il vecchio modo sembra più facile ( per me).

Costruire kernel non è difficile ma puoi sbagliare se ti allontani troppo dal percorso accettato. E non otterrai supporto ufficiale se le cose vanno male.


In alternativa, ci sono sempre più kernel che emergono con la patch integrata (o almeno nell'albero dei sorgenti, in attesa della prossima versione).

Nota: entrambi questi kernel (e probabilmente anche altri) si discostano in qualche modo dal modo Ubuntu di fare i kernel. Potresti scoprire (come ho fatto quando sono passato a Liquorix) che il ridimensionamento della frequenza della CPU smette di funzionare o la sospensione si rompe. Di solito ci sono correzioni e soluzioni alternative, ma è probabile che non otterrai supporto da AskUbuntu o dal resto della comunità Ubuntu poiché non possiamo controllare ogni singolo kernel là fuori.


Qualcuno, da qualche parte, deve avere questa patch già applicata in un ramo git pubblico. Troppe notizie per non farlo, ma il mio google-fu mi sta fallendo.
Karl Bielefeldt,

Il kernel @Karl zen lo ha nel suo albero git.
Oli

Il liquorix ha questo applicato tra un intero carico di altre patch. Ci sto correndo adesso ed è abbastanza carino. Un grosso problema per me (e probabilmente la maggior parte degli altri utenti) è che CPU_FREQ sembra essere un po 'confuso. È bloccato su PERFORMANCE.
Oli


1

A partire dal 18-01-2011, Linux 2.6.38-rc1 include la suddetta patch.
Vedi le notizie relative a Phoronix e il post Linus .

A partire dal 29-01-2011, la build quotidiana di Natty Narwhal viene fornita con Linux 2.6.38.

Quindi, ci sono attualmente due soluzioni:


0

Ho appena preso questa discussione ora ed è molto interessante. Ho scritto un piccolo post sul blog su come abilitare la patch cgroup su Ubuntu 10.10.

Non ho ancora testato se funziona o meno, quindi il feedback sarebbe fantastico!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.