image hosting by Twango

Le patch Con Kolivas sono una serie di script che apportano delle modifiche sostanziose alla struttura del nostro kernel,aumentando in generale le prestazioni grazie anche ad uno scheduler innovativo (staircase) e ottimizzando l’uso della swap.

Descrizione della patch

Scheduler:

Le patch -ck (per il kernel 2.6.21 o successivi) includono l’innovativo scheduler Staircase Deadline (chiamato semplicemente SD). Questo scheduler è l’evoluzione del secondo scheduler dei processi scritto da zero da Con Kolivas (il primo scheduler chiamato Staircase è stato anch’esso molto innovativo). Le sue caratteristiche principali sono la sua fairness garantita (tutti i processi della stessa priorità consumano esattamente la stessa CPU) e la sua spiccata interattività.

Swap prefetching:

Altra patch inclusa è la così detta swap prefetching. In pratica questa patch ottimizza l’uso dello swap precaricando delle pagine non appena della ram risulta disponibile (non quando le pagine sono richieste come sul kernel vanilla), e questo velocizza notevolmente il passaggio tra le grosse applicazioni se ad esempio se ne chiude una. Inoltre vengono tenute in swap anche pagine caricate in ram in modo da rendere immediato un successivo swap-out.
Con questa patch l’utilizzo apparente dello swap sarà maggiore ma in realtà questo è dovuto alle ottimizzazioni fatte per incrementare di prestazioni.

image hosting by Twango

Per avviare i processi con una certa priorita’ (nice) potete seguire la guida Debianizzati che descrive le funzioni nel dettaglio..e qualche esempio di applicazione pratica per i tool di utilizzo quotidiano.La seguente spiegazione su come applicare la patch deriva propio da quella guida.

===========
Applicazione patch
===========

Per scaricare la patch -cK puntiamo il browser verso kernel.org

Download

Per l’esempio utilizzeremo una delle ultime patch disponibili per il kernel 2.6.21

Download kernel vanilla 2.6.21

spostiamo e scompattiamo i sorgenti del kernel in /usr/src

sudo mv linux-2.6.21.tar.bz2 /usr/src
cd /usr/src
sudo tar xjvf linux-2.6.21.tar.bz2

Spostiamo anche la patch -ck1 in /usr/src ma non scompattiamola.(si puo’ fare anche diversamente ma voglio mantenere le spiegazioni della guida ufficiale)
Entriamo nei sorgenti del kernel

cd /usr/src/linux-2.6.21

Applichiamo la patch da root:

bzcat ../patch-2.6.21-ck1.bz2 | patch -p1

Una volta terminata la verifica,possiamo procedere con la configurazione e l’installazione.
Se non avete mai ricompilato il kernel..rinnovo la guida.
Gia’ che ci siamo possiamo dare una sbirciatina anche a questo howto,che spiega come ottimizzare il kernel per i processori Core duo 2

============
Compilazione
============

sudo make oldconfig
sudo make xconfig[ interfaccia Qt]

Una volta finito (la patch -cK abilita i nuovi moduli in automatico):

sudo make-kpkg clean
sudo make-kpkg --initrd --append-to-version -quellachevolete kernel_image

Installate il pacchetto ottenuto in /usr/src e riavviate selezionando il nuovo kernel.

Considerazioni:

In aggiunta a queste modifiche..ho selezionato un time-frequency abnorme..

image hosting by Twango

Pensate che di default Ubuntu usa 250..mentre 1000 e’ consigliato per i sistemi desktop.
Ma cosa sono questi interrupts?

Scenario:

un dispositivo di I/O informa la CPU che è disponibile a ricevere o fornire dati. In questo caso viene avviata un’opportuna procedura del sistema operativo preposta ad occuparsi della relativa periferica. Questo tipo di interrupt necessita una gestione molto attenta da parte della CPU. Infatti è possibile che due dispositivi generino contemporaneamente un’interrupt, ed è necessario disporre di meccanismi che evitino conflitti e la perdita di informazioni, ad esempio decidendo quale interrupt ha maggiore priorità e deve essere eseguito per primo e ponendo in coda il secondo.

Con linux troviamo le info sugli interrupt in /proc/interrupts oppure utilizzando kinfocenter

image hosting by Twango

Come si puo’ vedere dallo screen,la mappatura IRQ prevede che piu’ dispositivi utilizzino lo stesso canale..
Aumentare il time-frequency significa aumentare la reattivita’ del segnale di interrupt..con conseguente miglioramento delle prestazioni.
1000 come valore va benissimo..quello che ho messo e’ esagerato..ed e’ solo una prova (del resto se c’e’…)

Il sistema e’ sicuramente reattivo..un miglioramento tangibile e’ nel tempo di latenza tra il collegamento di uno storage usb e il messaggio di mount..stessa cosa per lo smontaggio del dispositivo.La ram in uso ha raggiunto livelli bassissimi..148MB (in idle) e anche la cpu oscilla tra lo 0 e l’1%..
Ho applicato questa patch anche io da poco..quindi mi piacerebbe magari eseguire dei test piu’ approfonditi prima di dare un giudizio.

Video dimostrativo Kubuntu Feisty + kde 3.5.7 + kolivas + real-time + core duo 2:

Con Kolivas wiki SD
Guida Debianizzati

Related Posts Plugin for WordPress, Blogger...

Il tuo indirizzo ip:
34.201.121.213

Valutazione 3.00 su 5
happy wheels 2 demo

Category:

Senza categoria

Tags:

Commenti via Facebook:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

37 Comments

  • le patch del dottore curano le malattie 🙂
    (lui è un medico ultra-smanettone)

      Quota

  • @Daniele
    Mi faccio cambiare la tessera sanitaria..voglio lui come medico curante..:)

      Quota

  • Tyler ITALY 12 anni ago

    Sì Con è un anestesista 🙂

    Vorrei sapere una cosa. Secondo voi per la bassa latenza è più performante usare l’impostazione “low latency” del kernel vanilla o usare la patch “real time” di Ingo Molnar?

      Quota

  • Tra parentesi la cosa più importante, se si vuole smanettare ed incrementare le prestazioni della distro, non è la scelta della latenza del kernel, ma bensì gli I/O scheduler, soprattutto il CFQ: http://en.wikipedia.org/wiki/CFQ

      Quota

  • @janvitus
    di solito metto su anticipatory
    Sto cominciando ad apprezzare questa patch comunque..
    la swap e’ piu’ alta..ma la RAM fisica e’ scesa notevolmente..in piu’ come risposta e’ simile a gentoo o slack..

      Quota

  • c’e’ un problema di permessi cosi’ facendo:
    sudo bzcat ../patch-2.6.21-ck1.bz2 | patch -p1
    va fatto proprio da root 😉
    ora ricompilo e faccio un po di confronti (sto usando il lowlatency)

      Quota

  • @LuNa
    si in effetti io faccio sempre da root e poi do per scontato si possa fare con sudo
    in realta’ comunque..bzcat ../patch significa

    sali di una directory,scompatta la patch e applicala..
    quindi si puo’ anche fare

    sudo patch-2.6.21-ck1 | patch -p1

      Quota

  • Daniele ITALY 12 anni ago

    Molte cose descritte in questo articolo sono sbagliate a tal punto da risultare esilaranti, una per tutte la spiegazione della timer frequency. Non capisco le persone che, benchè non interpellate, setono il bisogno di spiegare ad altri
    cose di cui evidentemente sanno poco o nulla.

      Quota

  • @Daniele
    Ho propio evitato di spiegare nel dettaglio cosa e’ il timer-frequency..infatti non c’e’ nessuna spiegazione(ma dove l’hai letta?)
    io penso che tu sia esilarante…almeno scrivi cosa e’ no?..cosi’ aiuti tutti..come cerco di fare io nel mio piccolo
    ma poi..da chi dovrei essere interpellato?..il blog e’ mio..
    per chi volesse leggere a cosa serve variare il valore timer frequency:

    http://lwn.net/Articles/145973/

      Quota

  • Leggo ora il commento “targato” a nome di Daniele e tengo a precisare che non sono io. Sembra più un linguaggio pollycrocco.

      Quota

  • @Daniele Medri
    Non avevo pensato nemmeno di striscio che fossi tu..eppoi non e’ il tuo stile..;)

      Quota

  • coort ITALY 12 anni ago

    Uso le CK patch da poco meno di un mese, un gentile signore (iuculano, non ho il link sottomano al suo blog) ha preso il kernel ubuntu e applicate le patch, compilato e pacchettizato .deb . L’ho installato dal suo repository. Non so quale kernel esattamente abbia usato, ma penso quello della release, al posto che utilizzare il vanilla 2.6.21.
    Posso assicurare che le CK patch valgono anche sui processori non multicore moderni, il tempo di boot di linux diminuisce drasticamente, e il sistema diventa nettamente piu` responsivo.
    Ok, trovao il link
    http://www.iuculano.it/linux/ubuntu-feisty-ck-kernel/

      Quota

  • @coort
    l’avevo gia’ sentito questo tizio..
    ma ci sono anche i kernel-headers nei repository?..

      Quota

  • lol … non ho potuto testare proprio niente perke non mi compila i driver nvdia con il 2.6.21 .. si che ho sotto mano gli ultimi beta 🙂 ma forse sarà colpa mia 😀 cmq prima o poi 🙂

      Quota

  • @LuNa
    devi togliere dalla sezione “processor” il modulo “paravirtualization” altrimenti i driver nvidia non si installano per problemi di GPL..:-)

      Quota

  • ma che ca**o 😀 tieni ragione me ne sono accorto … ho anche io il mio martini con l’oliva ! smanettando mi e capitato di utilizzare una penna usb e devo dire, che si il montaggio .. ma soprattutto lo smontaggio mi risulta immediato .. mentre prima occorrevano, sul mio sistema, diversi secondi.
    Nell’ordine di qualche secondo è migliorato il tempo di caricamento e il sistema è più reattivo.. la cosa si nota molto con carico di lavoro alto specialmente quando la ram comincia a mancare (io ho un misero giga) e direi pure che c’e’ un pizzico di miglioramento (si vede proprio) con il composite, compiz, & co.
    Prossimamente faccio test prendendo dei valori di riferimento, comunque, non sto notando differenze nell’uso della memoria di swap. Confermo comunque che le prestazioni generali sono aumentate .. ovvio nessun miracolo (non che qualcuno se ne aspettasse :D) valeva la pena !

      Quota

  • @Luna
    anche io ho un misero giga..ma ti assicuro che anche mettendone un altro non cambierebbe la sostanza
    Il video che ho caricato su youtube e’ il desktop del mio modestissimo core duo 2 con 1gb di ram..ma come velocita’ generale e’ uguale al portatile asus con 2GB di ram e core duo

      Quota

  • @divi: da questa tua affermazione capisco che ritieni questo kernel cosi’ patchato TREMENDAMENTE superiore al vanilla .. o capisco male ??? io non ho approfondito, come ho scritto, i test .. sono andato per il momento abbastanza ‘a pelle’ e noto si un miglioramento .. ma prima di poter dire che è sostanziale e ‘mi cambia il picci’ 😀 aspetto ancora un po .. anche se non credo che lo diro’. Comunque, non nego che sia una patch che male non fa !!

      Quota

  • P.S e perdona il doppio post ogni tanto wordpress scazza:
    mi spiego: tu parli di 1 pc con un giga di memoria .. rispetto a un altro con 2: ammettiamo che questa patch migliori anche mostrusamente il rapporto tra ram e swap, con conseguenti riscontri (come ovvio) sulle prestazioni generali di tutto il sistema, ma non ti quoto per nulla se mi dici che sembra di avere 2 giga di memoria … la memoria RAM sara’ sempre piu’ veloce di un file di swap che sta in un disco fisso 🙂 anche se la patch in questione ottimizza, e si riscontra facilmente, questo matrimonio.

      Quota

  • non hai capito..quello che volevo dire e’ che il desktop..al massimo utilizza,sotto sforzo,circa 400MB..e il notebook qualcosa meno..ma come velocita’ generale (adesso stiamo propio parlando terra terra) sono uguali..
    anche quando ho aggunto un GB di ram al notebook non e’ cambiato nulla..perche’ 1GB basta e avanza…

    Non ho detto che la patch stravolge il kernel vanilla..anzi..io ho applicato la patch su un kernel gia’ ottimizzato (trovi tutto sul bog) e la risposta e’ contenuta..seppur con qualche miglioramento..ma contenuta

      Quota

  • premetto che stiamo facendo disquisizioni sulla RAM..e che ci sono altre 1000 cose che entrano in gioco per avere un sistema piu’ reattivo..nn solo quindi kernel e ram..;)..

      Quota

  • ah ok ok 😀 ora mi torna 😉 ho capito male io !!

      Quota

  • mairj ITALY 12 anni ago

    Per un povero niubbo come me che ha ricompilato il kernel 2.6.21.3 per installare i driver nvidia ricompilo disabilitando paravirtualization in processor features, scarico i driver nvidia e li lancio con il comando:
    sudo sh NVIDIA-Linux-x86-1.0-9755-pkg1.run -a -n -N –x-module-path=/usr/lib/xorg/modules
    giusto?
    E fin qui ok, ma avendo in /usr/src ancora i source del kernel con applicata la patch kolivas, una volta lanciato il comando:
    sudo make oldconfig
    si riprende la configurazione che ho attualmente in uso quindi in xconfig devo preoccuparmi solo di disabilitare paravirtualization e procedere con il build del .deb esatto ?
    Thanks.

      Quota

  • @mairj
    si esatto…;)
    se pero’ hai dei sorgenti diversi da quelli con la patch kolivas..il make oldconfig non include la patch applicata su quel kernel
    se vuoi ricompilare gli stessi sorgenti dove hai applicato anche kolivas..non serve nemmeno il make oldconfig..

      Quota

  • wesbluemarine ITALY 12 anni ago

    cacchio divi….il mio pc sembra rinato…..magari se ne hai voglia potresti dare dei consigli sui valori da settare quando si compila il kernel?magari anche solo il significato delle varie voci….

      Quota

  • mairj ITALY 12 anni ago

    Vorrei ringraziare divi e dire che questo blog è fantasmagorico 😉 fatto tutto senza problemi….unico neo le animazioni del beryl mi vanno un po scattose forse il temi frequency troppo alto???…. non ho resistito l’ho messo a 10.000
    Però tutta funziona alla grande 😀
    Thanks

      Quota

  • @mairj
    no..non scomodiamo il timer-frequency..
    probabilmente c’e’ qualche impostazione del beryl-manager che rallenta..ad esempio sinc V blank o il viewport..prova a togliere un po’ di effetti “surplus” e cerca quello che magari ti rallenta un po’ il tutto..a volte funziona

      Quota

  • kilyx ITALY 12 anni ago

    è possibile aggiungere a questa patch anche quella real-time vero?c’è una procedura esatta?perchè mi dà errore nella compilazione quando ci provo

      Quota

  • @kylix
    a me e’ riuscito la prima volta..ora non piu’.

      Quota

  • kilyx ITALY 12 anni ago

    ok,quindi , dovendomi ricompilare un kernel ,quale delle due mi consiglieresti di usare?(magari unita a quale altra?)

      Quota

  • @kilyx
    Se ti interessa il RT vanno bene sia quella di Molnar che cK..io personalmente uso quella di Ingo Molnar

      Quota

  • kilyx ITALY 12 anni ago

    grazie per le informazioni

      Quota

  • Nice blog right here! Also your website quite
    a bit up very fast! What web host are you the usage of?

    Can I am getting your affiliate link on your host? I want my site loaded up as quickly as
    yours lol

      Quota