# Latenze in rt-kernel (ex usare open64 invece di gcc)

## darkmanPPT

Premetto, forse è una stupidaggine.

Leggendo quà e là su internet mi sono imbattuto su  un forum dell'amd  in cui parlavano di un compilatore denominato open64.

A quanto si evince da quel forum (ma anche cercando in altri) "pare" che tale compilatore compili in modo più efficiente sui 64bit rispetto al GCC.

Io possiedo un 

```
AMD Athlon(tm)X2 DualCore QL-64
```

 e mi chiedevo le seguenti cose:

Qualcuno ha mai usato Open64?

Se si, effettivamente ci sono queste grandi ottimizzazioni?

Se si, si potrebbe sostituire il GCC con Open64 come compilatore di base?

In ultima mi chiedevo anche   :Confused: 

Open64 è un progetto opensource come GCC. non potevano fare un merge dei due progetti? Comunque sia mi pare strano che quelli del GCC non abbiano incorporato le eventuali feature del Open64...

----------

## riverdragon

Non l'avevo mai sentito nominare, immagino che sia qualcosa simile ad ICC di Intel. Occhio che con questi compilatori non-gcc si presentano problemi dati dal fatto che gli sviluppatori dei singoli pacchetti fanno il possibile per garantire il funzionamento solo con gcc; anche ICC infatti, pur essendo accreditato di sensibili miglioramenti rispetto ai binari di GCC, sembra avere problemi con molti pacchetti, kernel incluso; di conseguenza l'utilizzo come compilatore principale è scoraggiato a meno di trucchetti strani per differenziare il compilatore a seconda del pacchetto.

Una piccola nota sul tuo quesito finale: il fatto che sia opensource non significa che le licenze siano compatibili   :Wink: 

----------

## darkmanPPT

Uhm...   :Confused:   ho capito la questione.

In che modo sarebbe possibile, altresì, compilare solo alcuni pacchetti e lasciare il GCC come compilatore principale?

Mi spiego... io il pc lo uso molto per applicazioni audio/video dove, quindi, la CPU è molto usata.

Poter avere dei programmi ultra ottimizzati mi farebbe risparmiare tempo (sul rendering e sui codec audio) e mi permetterebbe di poter far girare alcune applicazioni in modo più veloce (ad esempio le applicazioni che lavorano sull'audio-realtime).

secondo me non sarebbe una brutta idea.....

oh, beh, certo... c'è da vedere, poi, se i pacchetti si compilano o meno   :Very Happy: 

L'idea di poter ottimizzare programmi come blender, gimp, mplayer, kino, jack-audio-connection-kit e tutti i relativi programmi che lavorano con jack mi attira molto.

----------

## riverdragon

Cerca sul forum internazionale gli how-to per ICC, poi dovrebbe bastarti applicarli al contrario.

----------

## mack1

Ciao proprio ieri ho provato la patch di Kolivas BFS ( http://ck.kolivas.org/patches/bfs/) che dovrebbe migliorare le performance lato "desktop" (basse latenze e scheduler ottimizzato per un basso numero di cpu/core).

Ho codificato un video di 350 MB con il kernel vanilla in 32 minuti e in 26 con lo scheduler BFS di Kolivas  :Shocked: .

Forse ti può aiutare di più che tentare di spingere in ottimizzazioni con compilatori "alieni".

Settare a 1000HZ la frequenza del kernel dovrebbe aiutare nelle applicazioni multithread:

https://forums.gentoo.org/viewtopic-t-791305-highlight-1000.html

Ciao

----------

## darkmanPPT

ok, 1000hz sul kernel l'ho già impostato da tempo.

Visto che tra l'audio e il video, utilizzo linux più per l'audio (jack, ardour, etc etc...) ho installato anche un kernel realtime.

Son passato da un centrino M 2Ghz a (adesso) un dual core athlon 64bit 2,1ghz.

Il risultato che ottengo è che la latenza minima che riesco ad ottenere con jack è sempre la stessa....

Appena carico più di due/tre applicazioni, jack mi segnala che non riesce più a starci dietro (i cosiddetti "xrun")

Per questo mi chiedevo se fosse possibile ottimizzare meglio la fase di compilazione. Tutto quello che era possibile abilitare/disabilitare nel kernel-rt l'ho fatto, ma le applicazioni non vanno "più veloci" rispetto al pc precedente; quest'ultimo pc dovrebbe far mangiare la polvere al precedente (ed in effetti il caricamento di linux e di una qualsiasi applicazione è molto più veloce)

mah   :Rolling Eyes: 

dai, cavolo, non è possibile che vada veloce come il centrino M   :Rolling Eyes: 

ps: per quanto riguarda le applicazioni grafiche, non c'è dubbio che ora siano più veloci

----------

## !equilibrium

 *darkmanPPT wrote:*   

> Il risultato che ottengo è che la latenza minima che riesco ad ottenere con jack è sempre la stessa....
> 
> Appena carico più di due/tre applicazioni, jack mi segnala che non riesce più a starci dietro (i cosiddetti "xrun")

 

jack e cpu non sono correlati; compra una scheda sonora pro tipo le m-audio e vedrai che la situazione migliorerà sensibilmente. molto probabilmente la tua scheda sonora non è dotata di mixer hardware (o se ce l'ha, non viene usato dai driver)

----------

## mack1

 *Quote:*   

> 
> 
> Visto che tra l'audio e il video, utilizzo linux più per l'audio (jack, ardour, etc etc...) ho installato anche un kernel realtime.
> 
> Son passato da un centrino M 2Ghz a (adesso) un dual core athlon 64bit 2,1ghz.
> ...

 

In effetti il dual core dovrebbe essere più performante, a patto che jack/ardour/etc sfruttino il parallelismo dell'architettura dual core!

Forse qualche cosa interferisce (la sparo  :Embarassed:  )..... usi il frequency scaling e la frequenza dei core rimane inchiodata al minimo?

Hai attivato la USE "threads"?

Il sistema ti "vede" i 2 core?

Opzioni del kernel che possono modificare le performance (prova ad attivarle/disattivarle):

CONFIG_PREEMPT_RCU=y

HIGH_RES_TIMERS=y

GART_IOMMU=y 

CONFIG_PREEMPT=y

CONFIG_HPET=y

CONFIG_HPET_MMAP=y 

Dando un'occhiata alle FAQ di RT-wiki ho trovato questo:

```

  Do I need root privileges to start a realtime application?

No, you can configure your system so that also a non-root user can run a realtime application.

A typical realtime application uses realtime priorities and it might want to lock its address space (mlockall).

For security reasons, a normal user is usually not allowed to do such things.

However, /etc /security/limits.conf lets you modify the default settings for a given user or group:

   someuser         -       memlock         51200

   someuser         -       rtprio          80

With these sample settings someuser is now allowed to use realtime priorities up to priority 80 and to lock 

a maximum address space of 50MB. ulimit -a can be used to retrieve the security limits. You have to logout

and login for the new limits to take effect.

```

http://rt.wiki.kernel.org/index.php/Frequently_Asked_Questions

Prova a mandare in esecuzione con i privilegi di root (ok  non si dovrebbe fare, ma è un test  :Razz:  ) le applicazioni che usi e vedi se c'è un miglioramento, in questo caso significa che forse l'utente non privilegiato ha dei limiti.

Controlla che i processi che ti interessano siano mandati in esecuzione con "real time scheduling":

```

ps -efc|grep " RR "

```

Comunque, se stai usando correttamente un kernel Rt, credo che i limiti dipendano più dalla natura di linux come kernel/sistema senza real time "nativo" (ma quale sistema "general purpose" lo è?)

Mi spiace io arrivo fino a qui  :Embarassed:  .

Ciao

----------

## darkmanPPT

 *!equilibrium wrote:*   

>  *darkmanPPT wrote:*   Il risultato che ottengo è che la latenza minima che riesco ad ottenere con jack è sempre la stessa....
> 
> Appena carico più di due/tre applicazioni, jack mi segnala che non riesce più a starci dietro (i cosiddetti "xrun") 
> 
> jack e cpu non sono correlati; compra una scheda sonora pro tipo le m-audio e vedrai che la situazione migliorerà sensibilmente. molto probabilmente la tua scheda sonora non è dotata di mixer hardware (o se ce l'ha, non viene usato dai driver)

 

ah, non ti preoccupare.. ho già una scheda esterna molto buona ed uso quella. Questa viene collegata tramite usb al pc e viene riconosciuta senza alcun problema dal kernel. Ora, posso capire che ci siano delle latenze nell'usb, ma talvola ho come l'impressione che ci siano problemi di velocità sul mio pc.

Esempio, apro 4 programmi: jack, ardour, hydrogen e qsynth. Il risultato è che jack va in "xrun" continuamente. Ora, capisco la latenza con il driver usb, ma i programmi girano innanzitutto sul mio pc e solo successivamente viene utilizzato il canale audio di jack attraverso l'usb.

non so se mi son spiegato bene...

----------

## darkmanPPT

 *mack1 wrote:*   

> 
> 
> In effetti il dual core dovrebbe essere più performante, a patto che jack/ardour/etc sfruttino il parallelismo dell'architettura dual core!
> 
> Forse qualche cosa interferisce (la sparo  )..... usi il frequency scaling e la frequenza dei core rimane inchiodata al minimo?
> ...

 

adesso provo, cmq, non mi pare...

 *Quote:*   

> 
> 
> Hai attivato la USE "threads"?
> 
> Il sistema ti "vede" i 2 core?
> ...

 

quest'ultima non l'ho attivata

 *Quote:*   

> 
> 
> Dando un'occhiata alle FAQ di RT-wiki ho trovato questo:
> 
> ```
> ...

 

quando farò un riavvio, proverò. Grazie per l'aiuto

 *Quote:*   

> 
> 
> Comunque, se stai usando correttamente un kernel Rt, credo che i limiti dipendano più dalla natura di linux come kernel/sistema senza real time "nativo" (ma quale sistema "general purpose" lo è?)
> 
> Mi spiace io arrivo fino a qui  .
> ...

 

grazie di tutto.   :Wink: 

edit: Ok, sistemato tutto. In realtà era già tutto impostato (a parte quella voce aggiuntiva nel kernel). Ho pensato di mettere nice -10 sul gruppo realtime. Magari andrà meglio.....

----------

## !equilibrium

 *darkmanPPT wrote:*   

> Ora, posso capire che ci siano delle latenze nell'usb, ma talvola ho come l'impressione che ci siano problemi di velocità sul mio pc.
> 
> Esempio, apro 4 programmi: jack, ardour, hydrogen e qsynth. Il risultato è che jack va in "xrun" continuamente. Ora, capisco la latenza con il driver usb, ma i programmi girano innanzitutto sul mio pc e solo successivamente viene utilizzato il canale audio di jack attraverso l'usb.
> 
> non so se mi son spiegato bene...

 

ti sei spiegato perfettamente e ti sei già risposto da solo: il tuo problema è proprio l'USB con RT.

Mai usare periferiche realtime via USB perchè lo stack USB del kernel linux non è realtime (forse quello di RTAI lo è), generando i problemi che rilevi con jack (come ho detto sopra, jack e cpu non sono mai correlati); soluzioni al problema? non ne esistono a meno che non passi ad un vero kernel RT dotato di stack realtime per ogni tipologia di periferica; io sono passato ad una scheda m-audio esterna firewire perchè quelle USB era impossibile gestirle tramite ardour via jack. Lo stesso discorso vale per mouse e tastiere USB, io le ho tolte perchè ogni volta che muovevo il mouse la latenza del kernel RT passava da 10us a 300us (a volte anche peggio).

----------

## darkmanPPT

Bingo!   :Very Happy: 

ecco spiegato l'arcano mistero. Doh!

uff, che sfiga...

dato che il topic si è spostato su un'altro argomento, ho cambiato titolo

----------

## !equilibrium

 *darkmanPPT wrote:*   

> Bingo!  
> 
> ecco spiegato l'arcano mistero. Doh!
> 
> uff, che sfiga...
> ...

 

mi sono ricordato di questo vecchio thread, prova a vedere se cambiando controller USB risolvi o comunque migliori il problema della latenza USB.

----------

## mack1

 *Quote:*   

> 
> 
> Mai usare periferiche realtime via USB perchè lo stack USB del kernel linux non è realtime (forse quello di RTAI lo è), generando i problemi che rilevi con jack (come ho detto sopra, jack e cpu non sono mai correlati); soluzioni al problema? non ne esistono a meno che non passi ad un vero kernel RT dotato di stack realtime per ogni tipologia di periferica; io sono passato ad una scheda m-audio esterna firewire perchè quelle USB era impossibile gestirle tramite ardour via jack. Lo stesso discorso vale per mouse e tastiere USB, io le ho tolte perchè ogni volta che muovevo il mouse la latenza del kernel RT passava da 10us a 300us (a volte anche peggio).
> 
> 

 

Topic e argomento interessanti   :Very Happy:  !!!

Ciao

----------

## darkmanPPT

Uhm... ho fatto le prove che mi dicevi. allora...

ora come utente non riesco più a far partire jack   :Shocked: 

mi dice

```
cannot use real-time scheduling (FIFO at priority 10) [for thread -2025167120, from thread -2025167120] (1: Operation not permitted)

cannot create engine
```

però da root va. Ho abilitato tutto il possibile, ho disabilitato l'acpi e i driver usb inutili.

dopo un po' che il sistema gira noto, come dire, una specie di "accelerazione" assurda nel catturaaaree i tasti (scusate per gli errori, ma è dovuto proprio a questo). Le animazioni sono quasi fuori controllo, come se .. uhm... non ci fosse più un "clock" ma fosse un po' a caso.

tipo che in questo momento devo premere i tasti appena appena altrimenti è come se li premessi 20 volte ad ogni pressione  :Shocked: 

idee?

ps: ecco il risultato di top. è normale?

```
3896 root      20   0 97544 9324 2008 S  4.4  0.3   0:57.83 wicd               

 3988 paolo     20   0  426m 104m  23m R  4.1  3.8   3:14.87 firefox            

 3691 messageb  20   0 14904 1012  672 S  2.2  0.0   0:22.71 dbus-daemon        

 3891 root      20   0  373m  41m 5268 S  2.2  1.5   1:14.57 X                  

 3933 root      20   0 83356 8608 3132 S  2.2  0.3   0:28.54 wicd-monitor       

 5812 paolo     20   0 18952 1356 1016 R  0.9  0.0   0:01.86 top                

 4177 paolo     20   0 58344 3400 2528 S  0.6  0.1   0:01.49 xterm              

   10 root     -50  -5     0    0    0 S  0.3  0.0   0:04.16 sirq-tasklet/0     

  553 root     -51  -5     0    0    0 S  0.3  0.0   0:06.12 IRQ-5              

 1530 root      15  -5     0    0    0 S  0.3  0.0   0:00.14 kjournald2         

 3973 paolo     20   0 60632 5232 4008 S  0.3  0.2   0:01.75 fluxbox            

    1 root      20   0  3816  628  532 S  0.0  0.0   0:00.21 init               

    2 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kthreadd           

    3 root     -51  -5     0    0    0 S  0.0  0.0   0:00.00 IRQ-2              

    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0        

    5 root     -50  -5     0    0    0 S  0.0  0.0   0:00.00 sirq-high/0        

    6 root     -50  -5     0    0    0 S  0.0  0.0   0:00.57 sirq-timer/0      
```

priorità -51?

ah, è ovvio dire che jack, a questo punto non funziona più (nemmeno da root)  :Rolling Eyes: 

di positivo, però una cosa c'è... il sistema è VELOCISSIMO, risponde quasi istantaneamente. .. non ho mai visto firefox così veloce.... (e così inusabile)

dimenticavo: /etc/secutiry/limits.conf

```
# End of file

#<domain>      <type>  <item>         <value>

@audio          -       rtprio          99

@audio          -       nice            -10

@audio          -       memlock         512000

```

-------------------------------------

edit: (non ho voglia di cancellare il messaggio)

Ho ricompilato il kernel senza l'opzione Group CPU scheduler (non so perchè ma per sbaglio l'avevo attivata).

Ora, dunque, mi trovo con un kernel-rt senza supporto acpi e con un po' di altre cose disabilitate.

Ora riesco a connettermi a jack anche da utente e direi che funiona anche piuttosto bene!

La velocità mi sembra adeguata e il "cpu-usage" del pannello di Qjackctl oscilla tra lo 0.025% e il 2% (prima oscillava tra il 4% e il 17%) e la latenza l'ho abbassata a 4msec.

i famosi "xrun" non li ho ancora visti, ma è vero anche che non ho ancora potuto testare molto il nuovo kernel. Pare davvero che disabilitare l'acpi produca miglioramenti di prestazioni non da poco!

interessante, no?

purtroppo non corre più come la "scheggia" del kernel precedente (chissà che cosa capitava   :Shocked:  ). Però, mi chiedo... come è possibile che abbia ottenuto una velocità così assurda del pc? cioè, mi spiego...

Tutto questo accadeva (e accade tutt'ora se ricarico il vecchio kernel) quando facevo partire jackd da root.

X diventava una scheggia (tanto che usare la tastiera era quasi una cosa impossibile) e, in generale, tutte le applicazioni si aprivano/giravano velocissimamente.   :Confused: 

Mia impressione è stata che tutte le applicazioni avessero iniziato a girare senza rispettare un qualche tipo di "clock" (magari dico 'na boiata....).

boh...

magari disabilitando altre cose posso ottenere un altro significativo aumento delle prestazioni. 

proverò...

----------

## mack1

Puoi sempre riportare il il sistema alle configurazioni originali, decommenta le righe in access.conf e vedi se da utente non privilegiato funziona.

Dipende come utilizzi il sistema.... potresti fare due kernel differenti, uno "normale" per l'uso quotidiano e poi una versione real time.

Le opzioni del kernel che ti ho postato potrebbero essere la causa dell'accelerazione, però dici che hai rimosso anche altro dal kernel.....

Controlla di aver abilitato:

```

 --- Real Time Clock                                                                                            

                                   [*]   Set system time from RTC on startup and resume  

                                   [ ]   RTC debug support                                                

                                   [*]   /sys/class/rtc/rtcN (sysfs)     

                                   [*]   /proc/driver/rtc (procfs for rtc0)

                                   [*]   /dev/rtcN (character devices)   

                                   <*>   PC-style 'CMOS'           

```

Le opzioni del kernel (HIGH_RES_TIMERS,CONFIG_HPET,NO_HZ e 1000HZ) possono averti causato l'effetto "accelerazione" (per essere sicuro che sia colpa loro vedi se anche l'orologio di sistema "accelera"), prova ad abilitarle o disabilitarle.

L'unico modo per "spingere" il sistema è testarlo.... visto che, a seconda di quello che vuoi fare e del tuo hardware, potresti avere problemi o benefici differenti.

 *Quote:*   

> 
> 
> di positivo, però una cosa c'è... il sistema è VELOCISSIMO, risponde quasi istantaneamente. .. non ho mai visto firefox così veloce.... (e così inusabile) 
> 
> 

 

Mica tutte le ciambelle escono con il buco.... volevi real time/basse latenze..... colpa mia  :Embarassed: ...

Ciao

----------

## darkmanPPT

 *mack1 wrote:*   

> Puoi sempre riportare il il sistema alle configurazioni originali, decommenta le righe in access.conf e vedi se da utente non privilegiato funziona.
> 
> Dipende come utilizzi il sistema.... potresti fare due kernel differenti, uno "normale" per l'uso quotidiano e poi una versione real time.
> 
> 

 

Che è esattamente quello che faccio  :Smile: 

 *Quote:*   

> 
> 
> Le opzioni del kernel che ti ho postato potrebbero essere la causa dell'accelerazione, però dici che hai rimosso anche altro dal kernel.....
> 
> Controlla di aver abilitato:
> ...

 

Infatti, l'orologio del sistema era quasi impazzito, accelerava come non so cosa...

Immagina che era mezzanotte e mezza e dopo un po' mi sono ritrovato che erano le 4 di mattina   :Very Happy: 

ah, non avevo abilitato quelle opzioni. in effetti, potrebbero servire...

grazie

 *Quote:*   

> 
> 
> L'unico modo per "spingere" il sistema è testarlo.... visto che, a seconda di quello che vuoi fare e del tuo hardware, potresti avere problemi o benefici differenti.
> 
>  *Quote:*   
> ...

 

 :Very Happy: 

----------

## mack1

 *Quote:*   

> 
> 
> Mia impressione è stata che tutte le applicazioni avessero iniziato a girare senza rispettare un qualche tipo di "clock" (magari dico 'na boiata....).
> 
> 

 

E' la stessa cosa che ho pensato ..... avevo sperimentato qualche cosa di simile quando erano usciti i primi processori con il supporto alla virtualizzazione (i sistemi guest erano velocissimi ma "desincronizzati" con l'host)...

Comunque che si possa migliorare con il " fine tuning" e adeguate patch per il kernel è fuori discussione....

Rimuovere tutto il superfluo e compilare il kernel con meno moduli possibile dovrebbe darti dei vantaggi ( potresti anche provare a rimuovere il supporto ai moduli e vedere come si comporta...), è probabile che la modularizzazione aumenti l'overhead di gestione per il real time/basse latenze (il tutto imho  :Razz:  ).

Ciao

----------

## darkmanPPT

Rimuovere il supporto ai moduli?

intendi che c'è un supporto per i moduli dentro il kernel o intendi che quello che è "modulo" lo metto build-in?

perchè io non ho moduli nel kernel: tengo tutto build-in

----------

## mack1

Proprio il supporto hai moduli tanto più se usi tutto built in.

----------

## darkmanPPT

 *mack1 wrote:*   

> Proprio il supporto hai moduli tanto più se usi tutto built in.

 

bene, ora ho un kernel di 3.8 mb

si può fare di meglio?

per il test sulle performance... oggi non ho tempo però ti farò sapere.

può sempre essere utile saperlo a chi sta cercando, come me, di avere un kernel rt con basse latenze

----------

## mack1

 *Quote:*   

> 
> 
> si può fare di meglio? 
> 
> 

 

Se hai già rimosso tutto quello che non ti serve, non credo... però dipende cosa supporta (rete/netfilter,firewire,algoritmi di cifratura, filesystem {quelli aumentano le dimensioni le dimensioni del kernel considerevolmente}periferiche che non sono strettamente necessarie al lavoro che devi fare, etc)... è per quello che forse ti conviene fare due versioni del kernel differenti (normale e real time>solo con lo stretto necessario).

Comunque se riesci a fare qualche test e a postarlo può essere utile  :Very Happy: 

Io ho questo:

```

root@Shell:23:04:0:~>du -h /boot/kernel-2.6.28-hardened-r9 

1,7M    /boot/kernel-2.6.28-hardened-r9

root@Shell:23:05:0:~>du -hs /lib/modules/2.6.28-hardened-r9/

14M     /lib/modules/2.6.28-hardened-r9/

```

Di cui 12 MB del driver nvidia  :Shocked:  .... per cui siamo lì.

Ciao

----------

## darkmanPPT

ehm.....

che tipo di test potrei postare? ora che avevo tempo di fare dei test, non ho la più pallida idea di "che test fare".

ho pensato di installarmi ltp: Linux Test Project

questo programma fa dei test sul kernel. Si, ma.... atch... mi aspettavo fossero dei test sulle performance!

qualcuno ha idea di come si potrebbe fare dei test sulle performance di un kernel?

---------------------------------------------

edit: come non detto, ho trovato nbench (è nel portage)

---------------------------------------------

Ecco dei benchmark. Dato che credo sia doveroso fare un raffronto, riporto prima i benchmark di un kernel normale e poi quelli di quello realtime.

```
BYTEmark* Native Mode Benchmark ver. 2 (10/95)

Index-split by Andrew D. Balsa (11/97)        

Linux/Unix* port by Uwe F. Mayer (12/96,11/97)

TEST                : Iterations/sec.  : Old Index   : New Index

                    :                  : Pentium 90* : AMD K6/233*

--------------------:------------------:-------------:------------

NUMERIC SORT        :          941.44  :      24.14  :       7.93 

STRING SORT         :          158.19  :      70.69  :      10.94 

BITFIELD            :      3.8321e+08  :      65.73  :      13.73 

FP EMULATION        :          176.08  :      84.49  :      19.50 

FOURIER             :           15659  :      17.81  :      10.00 

ASSIGNMENT          :          19.841  :      75.50  :      19.58 

IDEA                :          5593.3  :      85.55  :      25.40 

HUFFMAN             :          1471.2  :      40.80  :      13.03 

NEURAL NET          :          32.241  :      51.79  :      21.79

LU DECOMPOSITION    :          1123.7  :      58.21  :      42.04

==========================ORIGINAL BYTEMARK RESULTS==========================

INTEGER INDEX       : 59.029

FLOATING-POINT INDEX: 37.725

Baseline (MSDOS*)   : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0

==============================LINUX DATA BELOW===============================

CPU                 : Dual AuthenticAMD AMD Athlon(tm)X2 DualCore QL-64 2100MHz

L2 Cache            : 512 KB

OS                  : Linux 2.6.30-gentoo-r511

C compiler          : x86_64-pc-linux-gnu-gcc

libc                :

MEMORY INDEX        : 14.328

INTEGER INDEX       : 15.039

FLOATING-POINT INDEX: 20.923

Baseline (LINUX)    : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38

* Trademarks are property of their respective holder.

```

e ora quello realtime

```
BYTEmark* Native Mode Benchmark ver. 2 (10/95)

Index-split by Andrew D. Balsa (11/97)        

Linux/Unix* port by Uwe F. Mayer (12/96,11/97)

TEST                : Iterations/sec.  : Old Index   : New Index

                    :                  : Pentium 90* : AMD K6/233*

--------------------:------------------:-------------:------------

NUMERIC SORT        :           972.6  :      24.94  :       8.19 

STRING SORT         :          163.08  :      72.87  :      11.28 

BITFIELD            :      4.0088e+08  :      68.77  :      14.36 

FP EMULATION        :          182.81  :      87.72  :      20.24 

FOURIER             :           18301  :      20.81  :      11.69 

ASSIGNMENT          :          20.543  :      78.17  :      20.27 

IDEA                :          5773.7  :      88.31  :      26.22 

HUFFMAN             :          1518.8  :      42.12  :      13.45 

NEURAL NET          :           33.32  :      53.53  :      22.52

LU DECOMPOSITION    :          1162.4  :      60.22  :      43.48

==========================ORIGINAL BYTEMARK RESULTS==========================

INTEGER INDEX       : 61.123

FLOATING-POINT INDEX: 40.632

Baseline (MSDOS*)   : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0

==============================LINUX DATA BELOW===============================

CPU                 : AuthenticAMD AMD Athlon(tm)X2 DualCore QL-64 2100MHz

L2 Cache            : 512 KB

OS                  : Linux 2.6.29.6-rt2315

C compiler          : x86_64-pc-linux-gnu-gcc

libc                :

MEMORY INDEX        : 14.865

INTEGER INDEX       : 15.550

FLOATING-POINT INDEX: 22.536

Baseline (LINUX)    : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38

* Trademarks are property of their respective holder.

```

Ora chiederei una cosa.... ma come si interpretano tali dati? mi sembra strano che il kernel realtime abbia più iterazioni al secondo... no?

come notate da sopra, il benchmark mi dice:

```
Baseline (LINUX)    : [b]AMD K6/233[/b]*, 512 KB L2-cache, [b]gcc 2.7.2.3[/b], libc-5.4.38
```

ok, ma la mia cpu è riconosciuta dal gcc come k8 e il gcc installato è il 4.3.2-r3

uhm.......................

altra cosa, che mi son sempre chiesto. quando compilo il kernel e faccio make install (ricordo che sono su amd64) ottengo

```
sh /usr/src/linux-2.6.29.6-rt23/arch/x86/boot/install.sh 2.6.29.6-rt2315 [b]arch/x86[/b]/boot/bzImage
```

non è strano che compili tutto dentro arch/x86? eppure la cartella arch/x86_64 esiste ma là dentro non ci compila nulla....   :Confused: 

il comando che lancio per compilare il kernel è:

```
make -j 20; make modules; make modules_install; make install;
```

----------

## xdarma

 *darkmanPPT wrote:*   

> che tipo di test potrei postare? ora che avevo tempo di fare dei test, non ho la più pallida idea di "che test fare".
> 
> qualcuno ha idea di come si potrebbe fare dei test sulle performance di un kernel?
> 
> ---------------------------------------------
> ...

 

Se non mi sbaglio nbench è obsoleto e usa solo una cpu. Non sono sicuro che sia attendibile.

Esistono molti test di performance del kernel, quelle che mi vengono in mente sono:

Linux Test Project

Linux Benchmark Suite (che mi sembra più recente)

sysbench - System performance benchmark

Personalmente ho installato sysbench, ma solo perché mi sembrava più semplice da gestire, non avendo bisogno di fare test particolarmente approfonditi.

----------

## darkmanPPT

Allora, continuo questo discorso lasciato in sospeso.

Dopo aver fatto tutte le ottimizzazioni al kernel (come sopra riportato), ieri sera ho fatto un test "serio".

Elenco programmi che giravano:

-fluxbox

-un po' di shell aperte (xterm)

-jack-audio-connection kit in modalità realtime e 5msec di latenza

-ardour (con tre tracce che si stavano registrando contemporaneamente)

-hydrogen (sincronizzato con jack-transport)

-firefox (stavo visualizzando alcune pagine web)

-skype (spento ma caricato)

l'indicatore della cpu dal pannello di controllo di qjackctl indicava un bassissimo 1.2%   :Very Happy:  (all'avvio di solo qjackctl, l'indicatore era fermo su uno 0.4%)

Inutile dire che sono riuscito a registrare in multitraccia da tre sorgenti diverse senza avere alcun "xrun".

C'è da dire anche che, seguendo questa guida ho effettuato il prelink e ho abilitato un po' di ottimizzazioni anche sul linker (effettivamente il sistema è molto più veloce ora).

Ho riscontrato maggiori prestazioni sul kernel rt da quanto, come suggeritomi, ho abilitato anche Real Time Clock nel kernel.

Disabilitare tutti i moduli NON è una idea vincente: il kernel non parte perchè, a quanto pare, c'è un modulo (per il supporto scsi) che non riesco a mettere build-in. Guarda caso se non lo installo, il kernel non mi vede l'hard-disk    :Rolling Eyes: 

A breve posterò la conf del kernel (potrebbe essere utile a chi vuol usare un kernel rt come me) e alcuni benchmark (che ho già fatto) con sysbench.

```
cat config-2.6.29.6-rt2315  | grep -v -e#

CONFIG_64BIT=y                                               

CONFIG_X86_64=y                                              

CONFIG_X86=y                                                 

CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"    

CONFIG_GENERIC_TIME=y                                        

CONFIG_GENERIC_CMOS_UPDATE=y                                 

CONFIG_CLOCKSOURCE_WATCHDOG=y                                

CONFIG_GENERIC_CLOCKEVENTS=y                                 

CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y                       

CONFIG_LOCKDEP_SUPPORT=y                                     

CONFIG_STACKTRACE_SUPPORT=y                                  

CONFIG_HAVE_LATENCYTOP_SUPPORT=y                             

CONFIG_FAST_CMPXCHG_LOCAL=y                                  

CONFIG_MMU=y                                                 

CONFIG_ZONE_DMA=y                                            

CONFIG_GENERIC_ISA_DMA=y                                     

CONFIG_GENERIC_IOMAP=y                                       

CONFIG_GENERIC_BUG=y                                         

CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y                       

CONFIG_GENERIC_HWEIGHT=y                                     

CONFIG_ARCH_MAY_HAVE_PC_FDC=y                                

CONFIG_RWSEM_GENERIC_SPINLOCK=y                              

CONFIG_ASM_SEMAPHORES=y                                      

CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y                              

CONFIG_GENERIC_CALIBRATE_DELAY=y                             

CONFIG_GENERIC_TIME_VSYSCALL=y                               

CONFIG_ARCH_HAS_CPU_RELAX=y                                  

CONFIG_ARCH_HAS_DEFAULT_IDLE=y                               

CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y                            

CONFIG_HAVE_SETUP_PER_CPU_AREA=y                             

CONFIG_HAVE_DYNAMIC_PER_CPU_AREA=y                           

CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y                             

CONFIG_ARCH_HIBERNATION_POSSIBLE=y                           

CONFIG_ARCH_SUSPEND_POSSIBLE=y                               

CONFIG_ZONE_DMA32=y                                          

CONFIG_ARCH_POPULATES_NODE_MAP=y                             

CONFIG_AUDIT_ARCH=y                                          

CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y                    

CONFIG_GENERIC_HARDIRQS=y                                    

CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y                         

CONFIG_GENERIC_IRQ_PROBE=y                                   

CONFIG_GENERIC_PENDING_IRQ=y                                 

CONFIG_USE_GENERIC_SMP_HELPERS=y                             

CONFIG_X86_64_SMP=y                                          

CONFIG_X86_HT=y                                              

CONFIG_X86_TRAMPOLINE=y                                      

CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  

CONFIG_EXPERIMENTAL=y

CONFIG_LOCK_KERNEL=y 

CONFIG_INIT_ENV_ARG_LIMIT=32

CONFIG_LOCALVERSION="15"    

CONFIG_LOCALVERSION_AUTO=y  

CONFIG_HAVE_KERNEL_GZIP=y   

CONFIG_HAVE_KERNEL_BZIP2=y  

CONFIG_HAVE_KERNEL_LZMA=y   

CONFIG_KERNEL_GZIP=y        

CONFIG_SWAP=y               

CONFIG_SYSVIPC=y            

CONFIG_SYSVIPC_SYSCTL=y     

CONFIG_POSIX_MQUEUE=y       

CONFIG_BSD_PROCESS_ACCT=y   

CONFIG_TASKSTATS=y          

CONFIG_TASK_DELAY_ACCT=y    

CONFIG_TASK_XACCT=y         

CONFIG_TASK_IO_ACCOUNTING=y 

CONFIG_AUDIT=y              

CONFIG_AUDITSYSCALL=y       

CONFIG_AUDIT_TREE=y         

CONFIG_PREEMPT_RCU=y

CONFIG_LOG_BUF_SHIFT=18

CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

CONFIG_CGROUPS=y                  

CONFIG_CGROUP_NS=y                

CONFIG_CGROUP_FREEZER=y           

CONFIG_CPUSETS=y                  

CONFIG_PROC_PID_CPUSET=y          

CONFIG_CGROUP_CPUACCT=y           

CONFIG_RESOURCE_COUNTERS=y        

CONFIG_RELAY=y                    

CONFIG_NAMESPACES=y               

CONFIG_UTS_NS=y                   

CONFIG_IPC_NS=y                   

CONFIG_USER_NS=y                  

CONFIG_PID_NS=y                   

CONFIG_NET_NS=y                   

CONFIG_BLK_DEV_INITRD=y           

CONFIG_INITRAMFS_SOURCE=""        

CONFIG_RD_GZIP=y                  

CONFIG_RD_BZIP2=y                 

CONFIG_RD_LZMA=y                  

CONFIG_INITRAMFS_COMPRESSION_NONE=y

CONFIG_CC_OPTIMIZE_FOR_SIZE=y      

CONFIG_SYSCTL=y                    

CONFIG_ANON_INODES=y               

CONFIG_UID16=y                     

CONFIG_SYSCTL_SYSCALL=y            

CONFIG_KALLSYMS=y                  

CONFIG_KALLSYMS_EXTRA_PASS=y       

CONFIG_HOTPLUG=y                   

CONFIG_PRINTK=y                    

CONFIG_BUG=y                       

CONFIG_ELF_CORE=y                  

CONFIG_PCSPKR_PLATFORM=y           

CONFIG_BASE_FULL=y                 

CONFIG_FUTEX=y                     

CONFIG_EPOLL=y                     

CONFIG_SIGNALFD=y                  

CONFIG_TIMERFD=y                   

CONFIG_EVENTFD=y                   

CONFIG_SHMEM=y                     

CONFIG_AIO=y                       

CONFIG_HAVE_PERF_COUNTERS=y        

CONFIG_PERF_COUNTERS=y

CONFIG_VM_EVENT_COUNTERS=y

CONFIG_PCI_QUIRKS=y       

CONFIG_SLAB=y             

CONFIG_PROFILING=y        

CONFIG_TRACEPOINTS=y      

CONFIG_HAVE_OPROFILE=y    

CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y

CONFIG_HAVE_IOREMAP_PROT=y              

CONFIG_HAVE_KPROBES=y                   

CONFIG_HAVE_KRETPROBES=y                

CONFIG_HAVE_ARCH_TRACEHOOK=y            

CONFIG_HAVE_DMA_API_DEBUG=y             

CONFIG_SLABINFO=y                       

CONFIG_RT_MUTEXES=y                     

CONFIG_BASE_SMALL=0                     

CONFIG_MODULES=y                        

CONFIG_MODULE_UNLOAD=y                  

CONFIG_MODULE_FORCE_UNLOAD=y            

CONFIG_STOP_MACHINE=y                   

CONFIG_BLOCK=y                          

CONFIG_BLK_DEV_BSG=y                    

CONFIG_BLOCK_COMPAT=y                   

CONFIG_IOSCHED_NOOP=y

CONFIG_IOSCHED_AS=y  

CONFIG_IOSCHED_DEADLINE=y

CONFIG_IOSCHED_CFQ=y     

CONFIG_DEFAULT_DEADLINE=y

CONFIG_DEFAULT_IOSCHED="deadline"

CONFIG_FREEZER=y                 

CONFIG_TICK_ONESHOT=y

CONFIG_NO_HZ=y       

CONFIG_HIGH_RES_TIMERS=y

CONFIG_GENERIC_CLOCKEVENTS_BUILD=y

CONFIG_SMP=y                      

CONFIG_SPARSE_IRQ=y               

CONFIG_X86_MPPARSE=y              

CONFIG_SCHED_OMIT_FRAME_POINTER=y 

CONFIG_MK8=y                      

CONFIG_X86_CPU=y                  

CONFIG_X86_L1_CACHE_BYTES=64      

CONFIG_X86_INTERNODE_CACHE_BYTES=64

CONFIG_X86_CMPXCHG=y               

CONFIG_X86_L1_CACHE_SHIFT=6        

CONFIG_X86_WP_WORKS_OK=y           

CONFIG_X86_INTEL_USERCOPY=y        

CONFIG_X86_USE_PPRO_CHECKSUM=y     

CONFIG_X86_TSC=y                   

CONFIG_X86_CMPXCHG64=y             

CONFIG_X86_CMOV=y                  

CONFIG_X86_MINIMUM_CPU_FAMILY=64   

CONFIG_X86_DEBUGCTLMSR=y           

CONFIG_CPU_SUP_INTEL=y             

CONFIG_CPU_SUP_AMD=y               

CONFIG_CPU_SUP_CENTAUR=y           

CONFIG_X86_DS=y                    

CONFIG_X86_PTRACE_BTS=y            

CONFIG_HPET_TIMER=y                

CONFIG_HPET_EMULATE_RTC=y          

CONFIG_DMI=y                       

CONFIG_GART_IOMMU=y                

CONFIG_SWIOTLB=y                   

CONFIG_IOMMU_HELPER=y              

CONFIG_NR_CPUS=3                   

CONFIG_SCHED_MC=y                  

CONFIG_PREEMPT_RT=y                

CONFIG_PREEMPT=y                   

CONFIG_PREEMPT_SOFTIRQS=y          

CONFIG_PREEMPT_HARDIRQS=y          

CONFIG_X86_LOCAL_APIC=y            

CONFIG_X86_IO_APIC=y               

CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y

CONFIG_X86_MCE=y                         

CONFIG_X86_MCE_AMD=y                     

CONFIG_X86_MCE_THRESHOLD=y               

CONFIG_MICROCODE=y                       

CONFIG_MICROCODE_AMD=y                   

CONFIG_MICROCODE_OLD_INTERFACE=y         

CONFIG_X86_MSR=y                         

CONFIG_X86_CPUID=y                       

CONFIG_ARCH_PHYS_ADDR_T_64BIT=y          

CONFIG_DIRECT_GBPAGES=y                  

CONFIG_NUMA=y                            

CONFIG_K8_NUMA=y                         

CONFIG_NODES_SHIFT=6                     

CONFIG_ARCH_SPARSEMEM_DEFAULT=y          

CONFIG_ARCH_SPARSEMEM_ENABLE=y           

CONFIG_ARCH_SELECT_MEMORY_MODEL=y        

CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000

CONFIG_SELECT_MEMORY_MODEL=y                   

CONFIG_SPARSEMEM_MANUAL=y                      

CONFIG_SPARSEMEM=y                             

CONFIG_NEED_MULTIPLE_NODES=y                   

CONFIG_HAVE_MEMORY_PRESENT=y                   

CONFIG_SPARSEMEM_EXTREME=y                     

CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y              

CONFIG_SPARSEMEM_VMEMMAP=y                     

CONFIG_PAGEFLAGS_EXTENDED=y                    

CONFIG_SPLIT_PTLOCK_CPUS=4                     

CONFIG_MIGRATION=y                             

CONFIG_PHYS_ADDR_T_64BIT=y                     

CONFIG_ZONE_DMA_FLAG=1                         

CONFIG_BOUNCE=y                                

CONFIG_VIRT_TO_BUS=y                           

CONFIG_UNEVICTABLE_LRU=y                       

CONFIG_X86_CHECK_BIOS_CORRUPTION=y             

CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y 

CONFIG_X86_RESERVE_LOW_64K=y                   

CONFIG_MTRR=y                                  

CONFIG_MTRR_SANITIZER=y                        

CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0         

CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1   

CONFIG_X86_PAT=y                               

CONFIG_SECCOMP=y                               

CONFIG_HZ_1000=y                               

CONFIG_HZ=1000                                 

CONFIG_SCHED_HRTICK=y                          

CONFIG_KEXEC=y                                 

CONFIG_CRASH_DUMP=y                            

CONFIG_PHYSICAL_START=0x1000000                

CONFIG_PHYSICAL_ALIGN=0x200000                 

CONFIG_HOTPLUG_CPU=y                           

CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y            

CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y            

CONFIG_HARDIRQS_SW_RESEND=y                    

CONFIG_CPU_FREQ=y

CONFIG_CPU_FREQ_TABLE=y

CONFIG_CPU_FREQ_DEBUG=y

CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y

CONFIG_CPU_FREQ_GOV_PERFORMANCE=y        

CONFIG_CPU_FREQ_GOV_POWERSAVE=y          

CONFIG_CPU_FREQ_GOV_USERSPACE=y          

CONFIG_CPU_FREQ_GOV_ONDEMAND=y           

CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y       

CONFIG_X86_POWERNOW_K8=y

CONFIG_PCI=y

CONFIG_PCI_DIRECT=y

CONFIG_PCI_DOMAINS=y

CONFIG_PCIEPORTBUS=y

CONFIG_PCIEAER=y    

CONFIG_ARCH_SUPPORTS_MSI=y

CONFIG_PCI_MSI=y          

CONFIG_HT_IRQ=y           

CONFIG_ISA_DMA_API=y      

CONFIG_K8_NB=y            

CONFIG_BINFMT_ELF=y

CONFIG_COMPAT_BINFMT_ELF=y

CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y

CONFIG_BINFMT_MISC=y                  

CONFIG_IA32_EMULATION=y               

CONFIG_COMPAT=y                       

CONFIG_COMPAT_FOR_U64_ALIGNMENT=y     

CONFIG_SYSVIPC_COMPAT=y               

CONFIG_NET=y                          

CONFIG_COMPAT_NET_DEV_OPS=y

CONFIG_PACKET=y            

CONFIG_PACKET_MMAP=y       

CONFIG_UNIX=y              

CONFIG_XFRM=y              

CONFIG_XFRM_USER=y         

CONFIG_INET=y              

CONFIG_IP_MULTICAST=y      

CONFIG_IP_ADVANCED_ROUTER=y

CONFIG_ASK_IP_FIB_HASH=y   

CONFIG_IP_FIB_HASH=y       

CONFIG_IP_MULTIPLE_TABLES=y

CONFIG_IP_ROUTE_MULTIPATH=y

CONFIG_IP_ROUTE_VERBOSE=y  

CONFIG_IP_PNP=y            

CONFIG_IP_PNP_DHCP=y       

CONFIG_IP_PNP_BOOTP=y      

CONFIG_IP_PNP_RARP=y       

CONFIG_IP_MROUTE=y         

CONFIG_IP_PIMSM_V1=y       

CONFIG_IP_PIMSM_V2=y       

CONFIG_SYN_COOKIES=y       

CONFIG_INET_TUNNEL=y       

CONFIG_INET_LRO=y          

CONFIG_TCP_CONG_ADVANCED=y 

CONFIG_TCP_CONG_CUBIC=y    

CONFIG_DEFAULT_CUBIC=y     

CONFIG_DEFAULT_TCP_CONG="cubic"

CONFIG_TCP_MD5SIG=y            

CONFIG_IPV6=y                  

CONFIG_INET6_AH=y              

CONFIG_INET6_ESP=y             

CONFIG_INET6_XFRM_MODE_TRANSPORT=y

CONFIG_INET6_XFRM_MODE_TUNNEL=y   

CONFIG_INET6_XFRM_MODE_BEET=y     

CONFIG_IPV6_SIT=y                 

CONFIG_IPV6_NDISC_NODETYPE=y      

CONFIG_NETLABEL=y                 

CONFIG_NETWORK_SECMARK=y          

CONFIG_NETFILTER=y                

CONFIG_NETFILTER_NETLINK=y

CONFIG_NETFILTER_NETLINK_LOG=y

CONFIG_NF_CONNTRACK=y         

CONFIG_NF_CONNTRACK_SECMARK=y 

CONFIG_NF_CONNTRACK_FTP=y     

CONFIG_NF_CONNTRACK_IRC=y     

CONFIG_NF_CONNTRACK_SIP=y     

CONFIG_NF_CT_NETLINK=y        

CONFIG_NETFILTER_XTABLES=y    

CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y

CONFIG_NETFILTER_XT_TARGET_MARK=y       

CONFIG_NETFILTER_XT_TARGET_NFLOG=y      

CONFIG_NETFILTER_XT_TARGET_SECMARK=y    

CONFIG_NETFILTER_XT_TARGET_TCPMSS=y     

CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y   

CONFIG_NETFILTER_XT_MATCH_MARK=y        

CONFIG_NETFILTER_XT_MATCH_POLICY=y      

CONFIG_NETFILTER_XT_MATCH_STATE=y       

CONFIG_NF_DEFRAG_IPV4=y

CONFIG_NF_CONNTRACK_IPV4=y

CONFIG_NF_CONNTRACK_PROC_COMPAT=y

CONFIG_IP_NF_IPTABLES=y          

CONFIG_IP_NF_FILTER=y            

CONFIG_IP_NF_TARGET_REJECT=y     

CONFIG_IP_NF_TARGET_LOG=y        

CONFIG_IP_NF_TARGET_ULOG=y       

CONFIG_NF_NAT=y                  

CONFIG_NF_NAT_NEEDED=y           

CONFIG_IP_NF_TARGET_MASQUERADE=y 

CONFIG_NF_NAT_FTP=y              

CONFIG_NF_NAT_IRC=y              

CONFIG_NF_NAT_SIP=y              

CONFIG_IP_NF_MANGLE=y            

CONFIG_NF_CONNTRACK_IPV6=y

CONFIG_IP6_NF_IPTABLES=y  

CONFIG_IP6_NF_MATCH_IPV6HEADER=y

CONFIG_IP6_NF_TARGET_LOG=y      

CONFIG_IP6_NF_FILTER=y          

CONFIG_IP6_NF_TARGET_REJECT=y   

CONFIG_IP6_NF_MANGLE=y          

CONFIG_NET_SCHED=y              

CONFIG_NET_CLS=y

CONFIG_NET_EMATCH=y

CONFIG_NET_EMATCH_STACK=32

CONFIG_NET_CLS_ACT=y      

CONFIG_NET_SCH_FIFO=y     

CONFIG_FIB_RULES=y

CONFIG_WIRELESS=y 

CONFIG_CFG80211=y 

CONFIG_NL80211=y  

CONFIG_WIRELESS_OLD_REGULATORY=y

CONFIG_WIRELESS_EXT=y           

CONFIG_WIRELESS_EXT_SYSFS=y     

CONFIG_LIB80211=y               

CONFIG_LIB80211_DEBUG=y         

CONFIG_MAC80211=y               

CONFIG_MAC80211_RC_MINSTREL=y

CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y

CONFIG_MAC80211_RC_DEFAULT="minstrel"

CONFIG_MAC80211_LEDS=y               

CONFIG_RFKILL=y                      

CONFIG_RFKILL_LEDS=y                 

CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"

CONFIG_STANDALONE=y                      

CONFIG_PREVENT_FIRMWARE_BUILD=y          

CONFIG_FW_LOADER=y                       

CONFIG_FIRMWARE_IN_KERNEL=y              

CONFIG_EXTRA_FIRMWARE=""                 

CONFIG_CONNECTOR=y                       

CONFIG_PROC_EVENTS=y                     

CONFIG_BLK_DEV=y                         

CONFIG_BLK_DEV_LOOP=y                    

CONFIG_BLK_DEV_RAM=y                     

CONFIG_BLK_DEV_RAM_COUNT=16              

CONFIG_BLK_DEV_RAM_SIZE=16384            

CONFIG_HAVE_IDE=y                        

CONFIG_SCSI=y

CONFIG_SCSI_DMA=y

CONFIG_SCSI_PROC_FS=y

CONFIG_BLK_DEV_SD=y

CONFIG_BLK_DEV_SR=y

CONFIG_BLK_DEV_SR_VENDOR=y

CONFIG_CHR_DEV_SG=y       

CONFIG_SCSI_CONSTANTS=y

CONFIG_SCSI_SCAN_ASYNC=y

CONFIG_SCSI_WAIT_SCAN=m 

CONFIG_SCSI_SPI_ATTRS=y

CONFIG_ATA=y           

CONFIG_SATA_PMP=y      

CONFIG_SATA_AHCI=y     

CONFIG_ATA_SFF=y       

CONFIG_PATA_AMD=y      

CONFIG_PATA_ATIIXP=y   

CONFIG_I2O=y

CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y

CONFIG_I2O_EXT_ADAPTEC=y          

CONFIG_I2O_EXT_ADAPTEC_DMA64=y    

CONFIG_I2O_SCSI=y                 

CONFIG_I2O_PROC=y                 

CONFIG_NETDEVICES=y               

CONFIG_PHYLIB=y                   

CONFIG_NET_ETHERNET=y

CONFIG_MII=y         

CONFIG_NET_PCI=y     

CONFIG_8139TOO=y     

CONFIG_8139TOO_PIO=y 

CONFIG_NETDEV_1000=y 

CONFIG_E1000=y       

CONFIG_SKY2=y        

CONFIG_TIGON3=y      

CONFIG_WLAN_80211=y

CONFIG_INPUT=y

CONFIG_INPUT_FF_MEMLESS=y

CONFIG_INPUT_POLLDEV=y   

CONFIG_INPUT_MOUSEDEV=y

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1280

CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1024

CONFIG_INPUT_EVDEV=y               

CONFIG_INPUT_KEYBOARD=y

CONFIG_KEYBOARD_ATKBD=y

CONFIG_INPUT_MOUSE=y   

CONFIG_MOUSE_PS2=y     

CONFIG_MOUSE_PS2_ALPS=y

CONFIG_MOUSE_PS2_LOGIPS2PP=y

CONFIG_MOUSE_PS2_SYNAPTICS=y

CONFIG_MOUSE_PS2_LIFEBOOK=y 

CONFIG_MOUSE_PS2_TRACKPOINT=y

CONFIG_SERIO=y

CONFIG_SERIO_I8042=y

CONFIG_SERIO_LIBPS2=y

CONFIG_VT=y

CONFIG_CONSOLE_TRANSLATIONS=y

CONFIG_VT_CONSOLE=y          

CONFIG_HW_CONSOLE=y          

CONFIG_VT_HW_CONSOLE_BINDING=y

CONFIG_DEVKMEM=y              

CONFIG_FIX_EARLYCON_MEM=y

CONFIG_UNIX98_PTYS=y

CONFIG_HW_RANDOM=y  

CONFIG_HW_RANDOM_AMD=y

CONFIG_NVRAM=y        

CONFIG_DEVPORT=y      

CONFIG_I2C=y          

CONFIG_I2C_BOARDINFO=y

CONFIG_I2C_CHARDEV=y  

CONFIG_I2C_HELPER_AUTO=y

CONFIG_I2C_ALGOBIT=y    

CONFIG_I2C_AMD756=y

CONFIG_I2C_AMD8111=y

CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y

CONFIG_THERMAL_HWMON=y             

CONFIG_SSB_POSSIBLE=y              

CONFIG_AGP=y

CONFIG_AGP_AMD64=y

CONFIG_AGP_INTEL=y

CONFIG_DRM=y      

CONFIG_DRM_RADEON=y

CONFIG_VIDEO_OUTPUT_CONTROL=y

CONFIG_FB=y                  

CONFIG_FB_BOOT_VESA_SUPPORT=y

CONFIG_FB_CFB_FILLRECT=y     

CONFIG_FB_CFB_COPYAREA=y     

CONFIG_FB_CFB_IMAGEBLIT=y    

CONFIG_FB_MODE_HELPERS=y     

CONFIG_FB_TILEBLITTING=y     

CONFIG_FB_VESA=y

CONFIG_BACKLIGHT_LCD_SUPPORT=y

CONFIG_LCD_CLASS_DEVICE=y     

CONFIG_LCD_PLATFORM=y         

CONFIG_BACKLIGHT_CLASS_DEVICE=y

CONFIG_BACKLIGHT_GENERIC=y     

CONFIG_DISPLAY_SUPPORT=y

CONFIG_VGA_CONSOLE=y

CONFIG_VGACON_SOFT_SCROLLBACK=y

CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64

CONFIG_DUMMY_CONSOLE=y               

CONFIG_FRAMEBUFFER_CONSOLE=y         

CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y

CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y      

CONFIG_FONTS=y                             

CONFIG_FONT_8x8=y                          

CONFIG_FONT_8x16=y                         

CONFIG_SOUND=y                             

CONFIG_SOUND_OSS_CORE=y                    

CONFIG_SND=y                               

CONFIG_SND_TIMER=y                         

CONFIG_SND_PCM=y                           

CONFIG_SND_HWDEP=y                         

CONFIG_SND_RAWMIDI=y                       

CONFIG_SND_JACK=y                          

CONFIG_SND_SEQUENCER=y                     

CONFIG_SND_SEQ_DUMMY=y                     

CONFIG_SND_OSSEMUL=y                       

CONFIG_SND_MIXER_OSS=y                     

CONFIG_SND_PCM_OSS=y                       

CONFIG_SND_PCM_OSS_PLUGINS=y               

CONFIG_SND_SEQUENCER_OSS=y                 

CONFIG_SND_HRTIMER=y                       

CONFIG_SND_SEQ_HRTIMER_DEFAULT=y           

CONFIG_SND_DYNAMIC_MINORS=y                

CONFIG_SND_SUPPORT_OLD_API=y               

CONFIG_SND_VERBOSE_PROCFS=y                

CONFIG_SND_VMASTER=y                       

CONFIG_SND_PCI=y                           

CONFIG_SND_HDA_INTEL=y                     

CONFIG_SND_HDA_HWDEP=y                     

CONFIG_SND_HDA_CODEC_REALTEK=y             

CONFIG_SND_HDA_CODEC_ANALOG=y              

CONFIG_SND_HDA_CODEC_SIGMATEL=y            

CONFIG_SND_HDA_CODEC_VIA=y                 

CONFIG_SND_HDA_CODEC_ATIHDMI=y             

CONFIG_SND_HDA_CODEC_NVHDMI=y              

CONFIG_SND_HDA_CODEC_INTELHDMI=y           

CONFIG_SND_HDA_ELD=y                       

CONFIG_SND_HDA_CODEC_CONEXANT=y            

CONFIG_SND_HDA_CODEC_CMEDIA=y              

CONFIG_SND_HDA_CODEC_SI3054=y              

CONFIG_SND_HDA_GENERIC=y                   

CONFIG_SND_USB=y                           

CONFIG_SND_USB_AUDIO=y                     

CONFIG_HID_SUPPORT=y                       

CONFIG_HID=y                               

CONFIG_HIDRAW=y                            

CONFIG_USB_HID=y

CONFIG_USB_HIDDEV=y

CONFIG_HID_A4TECH=y

CONFIG_HID_APPLE=y 

CONFIG_HID_BELKIN=y

CONFIG_HID_CHERRY=y

CONFIG_HID_CHICONY=y

CONFIG_HID_CYPRESS=y

CONFIG_HID_EZKEY=y  

CONFIG_HID_GYRATION=y

CONFIG_HID_LOGITECH=y

CONFIG_HID_MICROSOFT=y

CONFIG_HID_MONTEREY=y 

CONFIG_HID_NTRIG=y    

CONFIG_HID_PANTHERLORD=y

CONFIG_HID_PETALYNX=y   

CONFIG_HID_SAMSUNG=y    

CONFIG_HID_SONY=y       

CONFIG_HID_SUNPLUS=y    

CONFIG_HID_TOPSEED=y    

CONFIG_USB_SUPPORT=y    

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB_ARCH_HAS_EHCI=y

CONFIG_USB=y              

CONFIG_USB_DEBUG=y        

CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

CONFIG_USB_DEVICEFS=y

CONFIG_USB_MON=y     

CONFIG_USB_WUSB=y    

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_EHCI_ROOT_HUB_TT=y

CONFIG_USB_OHCI_HCD=y        

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_PRINTER=y

CONFIG_USB_STORAGE=y

CONFIG_USB_LIBUSUAL=y

CONFIG_UWB=y

CONFIG_NEW_LEDS=y

CONFIG_LEDS_CLASS=y

CONFIG_LEDS_TRIGGERS=y

CONFIG_EDAC=y         

CONFIG_RTC_LIB=y

CONFIG_RTC_CLASS=y

CONFIG_RTC_HCTOSYS=y

CONFIG_RTC_HCTOSYS_DEVICE="rtc0"

CONFIG_RTC_INTF_SYSFS=y

CONFIG_RTC_INTF_PROC=y 

CONFIG_RTC_INTF_DEV=y  

CONFIG_RTC_DRV_CMOS=y

CONFIG_DMADEVICES=y

CONFIG_FIRMWARE_MEMMAP=y

CONFIG_DMIID=y          

CONFIG_EXT2_FS=y

CONFIG_EXT2_FS_XATTR=y

CONFIG_EXT2_FS_POSIX_ACL=y

CONFIG_EXT2_FS_SECURITY=y 

CONFIG_EXT2_FS_XIP=y      

CONFIG_EXT3_FS=y          

CONFIG_EXT3_FS_XATTR=y    

CONFIG_EXT3_FS_POSIX_ACL=y

CONFIG_EXT3_FS_SECURITY=y 

CONFIG_EXT4_FS=y          

CONFIG_EXT4DEV_COMPAT=y   

CONFIG_EXT4_FS_XATTR=y    

CONFIG_EXT4_FS_POSIX_ACL=y

CONFIG_EXT4_FS_SECURITY=y 

CONFIG_FS_XIP=y           

CONFIG_JBD=y              

CONFIG_JBD2=y             

CONFIG_FS_MBCACHE=y       

CONFIG_JFS_FS=y           

CONFIG_JFS_POSIX_ACL=y    

CONFIG_JFS_SECURITY=y     

CONFIG_JFS_DEBUG=y        

CONFIG_JFS_STATISTICS=y   

CONFIG_FS_POSIX_ACL=y     

CONFIG_FILE_LOCKING=y     

CONFIG_XFS_FS=y           

CONFIG_XFS_QUOTA=y        

CONFIG_XFS_POSIX_ACL=y    

CONFIG_XFS_RT=y           

CONFIG_XFS_DEBUG=y        

CONFIG_DNOTIFY=y          

CONFIG_INOTIFY=y          

CONFIG_INOTIFY_USER=y     

CONFIG_QUOTA=y            

CONFIG_QUOTA_NETLINK_INTERFACE=y

CONFIG_QUOTA_TREE=y             

CONFIG_QFMT_V2=y                

CONFIG_QUOTACTL=y               

CONFIG_AUTOFS4_FS=y             

CONFIG_GENERIC_ACL=y            

CONFIG_ISO9660_FS=y

CONFIG_JOLIET=y    

CONFIG_ZISOFS=y    

CONFIG_FAT_FS=y

CONFIG_MSDOS_FS=y

CONFIG_VFAT_FS=y 

CONFIG_FAT_DEFAULT_CODEPAGE=437

CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

CONFIG_PROC_FS=y

CONFIG_PROC_KCORE=y

CONFIG_PROC_VMCORE=y

CONFIG_PROC_SYSCTL=y

CONFIG_PROC_PAGE_MONITOR=y

CONFIG_SYSFS=y            

CONFIG_TMPFS=y            

CONFIG_TMPFS_POSIX_ACL=y  

CONFIG_HUGETLBFS=y        

CONFIG_HUGETLB_PAGE=y     

CONFIG_MISC_FILESYSTEMS=y 

CONFIG_NETWORK_FILESYSTEMS=y

CONFIG_NFS_FS=y             

CONFIG_NFS_V3=y             

CONFIG_NFS_V3_ACL=y         

CONFIG_NFS_V4=y             

CONFIG_ROOT_NFS=y           

CONFIG_LOCKD=y              

CONFIG_LOCKD_V4=y           

CONFIG_EXPORTFS=y           

CONFIG_NFS_ACL_SUPPORT=y    

CONFIG_NFS_COMMON=y         

CONFIG_SUNRPC=y             

CONFIG_SUNRPC_GSS=y         

CONFIG_RPCSEC_GSS_KRB5=y    

CONFIG_PARTITION_ADVANCED=y

CONFIG_OSF_PARTITION=y     

CONFIG_AMIGA_PARTITION=y   

CONFIG_MAC_PARTITION=y     

CONFIG_MSDOS_PARTITION=y   

CONFIG_BSD_DISKLABEL=y     

CONFIG_MINIX_SUBPARTITION=y

CONFIG_SOLARIS_X86_PARTITION=y

CONFIG_UNIXWARE_DISKLABEL=y   

CONFIG_SGI_PARTITION=y        

CONFIG_SUN_PARTITION=y        

CONFIG_KARMA_PARTITION=y      

CONFIG_EFI_PARTITION=y        

CONFIG_NLS=y                  

CONFIG_NLS_DEFAULT="utf8"     

CONFIG_NLS_CODEPAGE_437=y     

CONFIG_NLS_ASCII=y            

CONFIG_NLS_ISO8859_1=y        

CONFIG_NLS_UTF8=y             

CONFIG_TRACE_IRQFLAGS_SUPPORT=y

CONFIG_PRINTK_TIME=y           

CONFIG_ALLOW_WARNINGS=y        

CONFIG_ENABLE_MUST_CHECK=y     

CONFIG_FRAME_WARN=2048         

CONFIG_MAGIC_SYSRQ=y           

CONFIG_DEBUG_FS=y              

CONFIG_STACKTRACE=y            

CONFIG_DEBUG_BUGVERBOSE=y      

CONFIG_DEBUG_MEMORY_INIT=y     

CONFIG_ARCH_WANT_FRAME_POINTERS=y

CONFIG_SYSCTL_SYSCALL_CHECK=y    

CONFIG_USER_STACKTRACE_SUPPORT=y 

CONFIG_NOP_TRACER=y              

CONFIG_HAVE_FUNCTION_TRACER=y    

CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y

CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y

CONFIG_HAVE_DYNAMIC_FTRACE=y            

CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y      

CONFIG_HAVE_HW_BRANCH_TRACER=y          

CONFIG_HAVE_FTRACE_SYSCALLS=y           

CONFIG_RING_BUFFER=y                    

CONFIG_TRACING=y                        

CONFIG_TRACING_SUPPORT=y                

CONFIG_BLK_DEV_IO_TRACE=y

CONFIG_HAVE_ARCH_KGDB=y  

CONFIG_HAVE_ARCH_KMEMCHECK=y

CONFIG_X86_VERBOSE_BOOTUP=y 

CONFIG_EARLY_PRINTK=y       

CONFIG_HAVE_MMIOTRACE_SUPPORT=y

CONFIG_IO_DELAY_TYPE_0X80=0    

CONFIG_IO_DELAY_TYPE_0XED=1    

CONFIG_IO_DELAY_TYPE_UDELAY=2  

CONFIG_IO_DELAY_TYPE_NONE=3    

CONFIG_IO_DELAY_NONE=y         

CONFIG_DEFAULT_IO_DELAY_TYPE=3 

CONFIG_OPTIMIZE_INLINING=y     

CONFIG_KEYS=y

CONFIG_KEYS_DEBUG_PROC_KEYS=y

CONFIG_SECURITY=y            

CONFIG_SECURITY_NETWORK=y    

CONFIG_SECURITY_FILE_CAPABILITIES=y

CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0

CONFIG_CRYPTO=y                        

CONFIG_CRYPTO_ALGAPI=y

CONFIG_CRYPTO_ALGAPI2=y

CONFIG_CRYPTO_AEAD=y   

CONFIG_CRYPTO_AEAD2=y  

CONFIG_CRYPTO_BLKCIPHER=y

CONFIG_CRYPTO_BLKCIPHER2=y

CONFIG_CRYPTO_HASH=y      

CONFIG_CRYPTO_HASH2=y     

CONFIG_CRYPTO_RNG2=y      

CONFIG_CRYPTO_MANAGER=y   

CONFIG_CRYPTO_MANAGER2=y  

CONFIG_CRYPTO_AUTHENC=y   

CONFIG_CRYPTO_CBC=y

CONFIG_CRYPTO_ECB=y

CONFIG_CRYPTO_HMAC=y

CONFIG_CRYPTO_MD5=y

CONFIG_CRYPTO_SHA1=y

CONFIG_CRYPTO_AES=y

CONFIG_CRYPTO_ARC4=y

CONFIG_CRYPTO_DES=y 

CONFIG_CRYPTO_HW=y

CONFIG_HAVE_KVM=y 

CONFIG_HAVE_KVM_IRQCHIP=y

CONFIG_BINARY_PRINTF=y

CONFIG_BITREVERSE=y

CONFIG_GENERIC_FIND_FIRST_BIT=y

CONFIG_GENERIC_FIND_NEXT_BIT=y

CONFIG_GENERIC_FIND_LAST_BIT=y

CONFIG_CRC16=y

CONFIG_CRC_T10DIF=y

CONFIG_CRC32=y

CONFIG_ZLIB_INFLATE=y

CONFIG_DECOMPRESS_GZIP=y

CONFIG_DECOMPRESS_BZIP2=y

CONFIG_DECOMPRESS_LZMA=y

CONFIG_HAS_IOMEM=y

CONFIG_HAS_IOPORT=y

CONFIG_HAS_DMA=y

```

L'unico modulo presente nel kernel è 

```
cat config-2.6.29.6-rt2315  | grep -v -e# | grep m

CONFIG_SCSI_WAIT_SCAN=m

```

che però non riesco a trovare nel menù di configurazione (pare che manchi la voce!)

Poi, da notare:

```
CONFIG_64BIT=y                                               

CONFIG_X86_64=y                                              

CONFIG_X86=y                                                 

CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"    
```

ma

```
file vmlinuz-2.6.29.6-rt2315

vmlinuz-2.6.29.6-rt2315: Linux kernel x86 boot executable bzImage, version 2.6.29.6-rt2315 (root@upupa) #1, RO-rootFS, root_dev 0x801, swap_dev 0x3, Normal VGA

```

e

```
ls -la arch/x86_64/boot/bzImage

lrwxrwxrwx 1 root root 22 Oct 10 13:26 arch/x86_64/boot/bzImage -> ../../x86/boot/bzImage
```

Cioè, mi chiedo: non è che stia facendo partire una immagine del kernel a 32 bit invece di 64 bit? (ricordo che ho un 64 bit)

La cosa mi sembra strana....

anche perchè:

```
make menuconfig  

  HOSTCC  <.....>

scripts/kconfig/mconf arch/x86/Kconfig
```

arch/x86/Kconfig?

se davvero sto facendo partire una immagine a 32 bit allora mi sa che potrei avere ancora dei margini di miglioramenti avendo una immagine a 64 bit, no?

----------

## riverdragon

I rami 32 bit e 64 bit nel kernel sono stati uniti qualche versione fa, quindi probabilmente è corretto.

----------

## mack1

 *Quote:*   

> 
> 
> Disabilitare tutti i moduli NON è una idea vincente: il kernel non parte perchè, a quanto pare, c'è un modulo (per il supporto scsi) che non riesco a mettere build-in. Guarda caso se non lo installo, il kernel non mi vede l'hard-disk 
> 
> 

 

Buona a sapersi, però è strano visto che i supporti scsi non possano essere compilati built-in... e sono fondamentali in fase di avvio.....

 *Quote:*   

> 
> 
> L'unico modulo presente nel kernel è
> 
> Codice:
> ...

 

In effetti, controllando la conf del kernel, ho la stesso modulo e non riesco a trovarlo nella conf...però come mudulo non risulta caricato... qui discutono dello stesso problema, ma non arrivano a nulla (in sostanza ci si tiene CONFIG_SCSI_WAIT_SCAN come modulo, adesso provo con un editor di testo a modificarlo e vedo se funziona):

http://lkml.org/lkml/2007/5/13/75

E' un'opzione che non viene esposta alla configurazione, però non ha molto senso cercare di avere un kernel monolitico così....

Vedo dalla tua configurazione che hai molte opzioni abilitate (hai praticamente Y in tutto  :Shocked:  ) come fai ad avere un kernel "leggero" così?

Comunque GROUP_SCHED e CONFIG_CGROUPS (sono dei noti gatti aggrappati alle palle) e tutto quello che serve per il debug lo disabiliterei.

 *Quote:*   

> 
> 
> A breve posterò la conf del kernel (potrebbe essere utile a chi vuol usare un kernel rt come me) e alcuni benchmark (che ho già fatto) con sysbench.
> 
> 

 

Ottimo... dati sui cui poter ragionare  :Very Happy: 

Ciao

----------

## darkmanPPT

allora, non ho tutto build-in. Tutto quello che ho selezionato è build-in, questo si (a parte quel modulo là)

se guardi il comando

```
 cat config-2.6.29.6-rt2315 | grep -v -e# 
```

 che ho lanciato, vedrai che nell'output ho tolto tutto quelli che non era inserito nel kernel (il file era troppo grande e non ci stava).   :Rolling Eyes: 

si, giusto, potrei disabilitare tutte le voci di debug... ehehe, con calma! non è semplice arrivare ad un kernel minimale (ho già tolto tanto)

---------------------------------------------------

SYSBENCH (i test riportati qui sono stati creati usando il kernel realtime citato precedentemente, usando l'utente root e da shell testuale (no X attivo)):

```
sysbench --num-threads=20 --test=cpu run 

Maximum prime number checked in CPU test: 10000

Test execution summary:

    total time:                          40.1352s

    total number of events:              10000

    total time taken by event execution: 801.8417

    per-request statistics:

         min:                                 23.75ms

         avg:                                 80.18ms

         max:                                125.98ms

         approx.  95 percentile:              99.97ms

Threads fairness:

    events (avg/stddev):           500.0000/0.55

    execution time (avg/stddev):   40.0921/0.04

```

```
sysbench --num-threads=20 --test=memory run 

Memory transfer size: 102400M

Memory operations type: write

Memory scope type: global    

Threads started!             

Done.                        

Operations performed: 104857600 (926983.10 ops/sec)

102400.00 MB transferred (905.26 MB/sec)

Test execution summary:

    total time:                          113.1171s

    total number of events:              104857600

    total time taken by event execution: 1798.6155

    per-request statistics:

         min:                                  0.00ms

         avg:                                  0.02ms

         max:                                 84.99ms

         approx.  95 percentile:               0.00ms

Threads fairness:

    events (avg/stddev):           5242880.0000/2233.09

    execution time (avg/stddev):   89.9308/0.46

```

```
sysbench --num-threads=20 --test=threads run 

Doing thread subsystem performance test

Thread yields per test: 1000 Locks used: 8

Threads started!                          

Done.

Test execution summary:

    total time:                          23.4614s

    total number of events:              10000

    total time taken by event execution: 468.8649

    per-request statistics:

         min:                                  0.56ms

         avg:                                 46.89ms

         max:                                246.19ms

         approx.  95 percentile:             130.53ms

Threads fairness:

    events (avg/stddev):           500.0000/27.30

    execution time (avg/stddev):   23.4432/0.04

```

```
sysbench --num-threads=20 --test=mutex run 

Test execution summary:

    total time:                          0.1057s

    total number of events:              20

    total time taken by event execution: 1.5775

    per-request statistics:

         min:                                  5.13ms

         avg:                                 78.87ms

         max:                                 98.62ms

         approx.  95 percentile:              95.16ms

Threads fairness:

    events (avg/stddev):           1.0000/0.00

    execution time (avg/stddev):   0.0789/0.02

```

SYSBENCH (i test riportati qui sono stati creati usando il kernel normale, usando l'utente root e da shell testuale (no X attivo)):

```
sysbench --num-threads=20 --test=cpu run

Maximum prime number checked in CPU test: 10000

Test execution summary:

    total time:                          20.6489s

    total number of events:              10000

    total time taken by event execution: 411.1711

    per-request statistics:

         min:                                  4.02ms

         avg:                                 41.12ms

         max:                                219.07ms

         approx.  95 percentile:              95.24ms

Threads fairness:

    events (avg/stddev):           500.0000/6.36

    execution time (avg/stddev):   20.5586/0.09

```

```
sysbench --num-threads=20 --test=memory run

Operations performed: 104857600 (234458.88 ops/sec)

102400.00 MB transferred (228.96 MB/sec)

Test execution summary:

    total time:                          447.2324s

    total number of events:              104857600

    total time taken by event execution: 5580.8195

    per-request statistics:

         min:                                  0.00ms

         avg:                                  0.05ms

         max:                                406.81ms

         approx.  95 percentile:               0.00ms

Threads fairness:

    events (avg/stddev):           5242880.0000/25286.10

    execution time (avg/stddev):   279.0410/2.90

```

```
sysbench --num-threads=20 --test=threads run

Thread yields per test: 1000 Locks used: 8

Threads started!                          

Done.

Test execution summary:

    total time:                          10.6854s

    total number of events:              10000

    total time taken by event execution: 213.0817

    per-request statistics:

         min:                                  0.46ms

         avg:                                 21.31ms

         max:                                206.02ms

         approx.  95 percentile:              78.12ms

Threads fairness:

    events (avg/stddev):           500.0000/13.67

    execution time (avg/stddev):   10.6541/0.05

```

```
sysbench --num-threads=20 --test=mutex run

Test execution summary:

    total time:                          0.4362s

    total number of events:              20

    total time taken by event execution: 8.2709

    per-request statistics:

         min:                                386.19ms

         avg:                                413.54ms

         max:                                431.97ms

         approx.  95 percentile:             428.76ms

Threads fairness:

    events (avg/stddev):           1.0000/0.00

    execution time (avg/stddev):   0.4135/0.01

```

Mi piacerebbe poter mettere i dati, più che in cascata così, su due colonne (così da avere colonna per il rt-sources e colonna per il gentoo-sources). In che modo potrei fare? non vedo alcun comando disponibile. non so... bastarebbe anche una tabella in html dove poter mettere le due cose...

altra cosa: come interpretare i dati?

----------

