Ho letto oggi su Phoronix che esiste una patch a 200 righe per il kernel Linux che migliora notevolmente la reattività del desktop.
Come possono gli utenti Ubuntu ottenere questo in un modo che è supportato?
Ho letto oggi su Phoronix che esiste una patch a 200 righe per il kernel Linux che migliora notevolmente la reattività del desktop.
Come possono gli utenti Ubuntu ottenere questo in un modo che è supportato?
Risposte:
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.
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.
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.
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
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.
Salva la patch da qualche parte e applicala cd
inserendo nella directory dei sorgenti del kernel ed eseguendo: patch -p1 < /path/to/patch
(hai bisogno del patch
pacchetto per questo ... Di cui penso che provenga build-essential
se non è installato di default)
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.
Puoi usare un semplice "hack" pubblicato da uno sviluppatore RedHat su una mailing list, che non richiede patching del kernel per ottenere la stessa cosa. Leggi qui: Alternativa alla "Patch del kernel 200 linee che fa miracoli" che puoi usare subito
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: