[SOLVED] Ottimizzare kernel per i7

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

[SOLVED] Ottimizzare kernel per i7

Messaggio da ZeroUno »

Dal momento che devo compilare il kernel, c'è qualche ottimizzazione particolare che posso fare per sfruttare al massimo il processore i7?

Codice: Seleziona tutto

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz
stepping        : 7
microcode       : 0x23
cpu MHz         : 2926.000
cache size      : 6144 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips        : 4389.85
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da ZeroUno »

Risolto.

Ho trovato questa patch che aggiunge il supporto a i7 (ovvero a -march=corei7-avx) e ad altri processori.

Certo, ora tra ottimizzare e verificare che sia veramente più veloce sono due cose diverse!!
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da ZeroUno »

Secondo voi ottengo decenti benefici se ricompilo le glibc con quella opzione?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
Trotto@81
Iper Master
Iper Master
Messaggi: 3559
Iscritto il: sab 26 giu 2004, 0:00
Nome Cognome: Andrea
Slackware: Slackware64 14.2 bet
Kernel: default
Desktop: KDE 4.14.14
Località: Monasterace M. (RC)
Contatta:

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da Trotto@81 »

Quanto mi appassionava questo argomento ai tempi in cui ricompilavo il kernel.
Per me un test probante è la ricompilazione di un grosso programma tipo Firefox. Segni il tempo prima e dopo e vedrai se ci sono dei miglioramenti sensibili.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da ZeroUno »

Dal man di gcc.
La funzionalità abilitabile con il kernel standard (che è già maggiore a x86_64 generic)
core2
Intel Core 2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3 instruction set support.
con il kernel patchato:
corei7-avx
Intel Core i7 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES and PCLMUL instruction set
support.
Mi sto vedendo quei flag aggiuntivi cosa impattano; non necessariamente impattano le performance di compilazione (che secondo me sono impattate solo dalla velocità e non dalle feature); inoltre la compilazione è impattata se ricompilo gcc, non il kernel. In effetti credo che la differenza la dovrei vedere nei driver, perchè la velocità dei programmi che usano il calcolo pure dipende da come sono compilati i programmi stessi. Per questo ho deciso di ricompilare anche le glibc. Ed anche i driver dipendono non dalle estensioni i7 ma dalla velocità delle periferiche (il driver di rete compilato con le estensioni i7 non mi porta la scheda a 200mbit)

Con SSE123 dovrei migliorare le performance multimediali. wikipedia dice che SSE4 non aggiunge feature multimediali; dice quali istruzioni aggiunge, ma chi ne trae vantaggio non si sa.
AVX dovrebbe velocizzare le operazioni in virgola mobile (quindi il campo multimediale e calcolo scientifico dovrebbe trarne vantaggio).
AES dovrebbe trarne vantaggio la criptazione, ma devo aggiornare openssl alla v. 1.1 perchè quella corrente non lo supporta.
PCLMUL dovrebbe aiutare le moltiplicazioni a 64bit (non ne sono sicuro al 100%). Anche questo dovrebbe avere un buon impatto sulla criptazione.

Mi sa che devo ricompilare un po' di altra robetta....

Ma ne vale la pena? boh! Sicuramente per imparare qualcosa si!

Il kernel comunque lo sto ricompilando solo perchè tanto devo abilitare il supporto alla virtualizzazione (dal 3.10 necessario per avviare vmware), e quindi ne approfitto per ottimizzarlo un po', altrimenti non lo avrei ricompilato.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
tornadomig
Linux 3.x
Linux 3.x
Messaggi: 579
Iscritto il: gio 30 set 2010, 15:17
Nome Cognome: Giorgio
Slackware: Current64 multilib
Kernel: -current
Desktop: Xfce

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da tornadomig »

@zerouno

ciao!

un buon campo di prova sono le compilazioni per esempio su gentoo. se hai voglia di virtualizzarlo o ancora meglio di installarlo su un drive (se hai pc desktop), dovresti si' vedere la maggiore potenza di calcolo. setta le varie flags, compila pure in ram e se hai ssd, proverai l' ebbrezza della ferrari sui vari logs :lol:

ehm ehm senza nulla togliere alla mia slack*, che rimane sempre la mia preferita e il mio baluardo unico e irrinunciabile su gnu/linux
rm -rf / && rm -rf . && rm -rf *

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da ZeroUno »

Ho ricompilato (su slack) gcc e con questo poi ho compilato openjdk.
openjdk l'ho compilato in tmpfs (12G di ram). L'ultima volta che l'ho compilato, diversi mesi fa, ci metteva c.a. 30 min

oggi 'time' dice
real 22m13.038s
user 73m58.295s
sys 4m16.120s

più user che real non mi era mai capitato. Si vede che il -j7 ha dato i suoi effetti.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
tano70
Linux 2.x
Linux 2.x
Messaggi: 255
Iscritto il: lun 12 ago 2013, 10:28
Nome Cognome: Tony
Slackware: current 64bit
Kernel: 3.14.17
Desktop: Xfce

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da tano70 »

interessante davvero quello che hai fatto. Un giorno anche io voglio arrivare a ricompilarmi il kernel adattandolo meglio al mio hardware, al momento diciamo che mi va benissimo slackware per come sono riuscito a personalizzarla, Non c'e' una cosa che non va, tutti i programmi che volevo li ho, quelli che non trovavo nei repository o su slackbuild, lo scaricavo io come sorgenti (o forse i binari) per compilarli, e funzionano regolarmente. Collegandomi al tuo discorso, openjdk, e' una versione che hai compilato sugli ultimi sorgenti rilasciati? una versione che posterai nei repository? visto che quella che ho scaricato io e' questa: http://www.slacky.eu/asche64/pkgs/index ... 6&pkg=2702
Te lo chiedo perche' uso spesso openjdk unito al plugin icedtea-web per una nota chat che frequento. Non che la versione che uso io mi da problemi, anzi e' perfetta, ma se hai compilato una versione piu nuova di quella che ho postato, ben venga :)

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da ZeroUno »

Ho pacchettizzato la stessa versione di openjdk (ma quella di alienbob, che poi è quasi uguale) in quanto è l'ultima.

Con -j15 ci ha messo 18 minuti.

Invece ho pacchettizzato chromium-31.0.1608.1 in 81 minuti

Non so se caricherò i pacchetti (comunque non ora visto che vado in ferie), ma se li scarichi ricordati che devi avere un i7 per avviarli. Infatti se li carico lo chiamo slackwarei7-current.


In effetti stavo cercando di rileggermi il man di gcc per -march e -mtune.
I pacchetti per slackware x86 sono tutti compilati con -march=i486 e -mtune=i686, il che significa che funzionano benissimo con 686 ma che se hai un 486 funzionano lo stesso; ma non riesco a capire se nel file alla fine che tecnica usa. Che nel binario c'è doppio codice?
Se andrebbe a funzionare senza conseguenze potrei ripacchettizzare con -march=x86_68 -mtune=corei7-avx o equivalente, così se carico i pacchetti non li usano solo i possessori di i7.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
marlavo
Linux 1.x
Linux 1.x
Messaggi: 180
Iscritto il: ven 2 lug 2010, 16:38
Nome Cognome: Marco Lavorini
Slackware: 15.0 x86_x64
Kernel: 6.6.21
Desktop: XFCE 4.18

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da marlavo »

ZeroUno ha scritto:Secondo voi ottengo decenti benefici se ricompilo le glibc con quella opzione?
Se ottieni benefici non lo so, è più probabile che andando ad esasperaree troppo i parametri di compilazione, in generale ma soprattutto per le glibc, potresti avere dei problemi di stabilità. Un problemino in queste librerie, che come ben sai sono le fondamenta di tutto il sistema, si ripercuoterebbe su tutto il sistema.
Offtopic: Ultimamente mi sto interessando a Linux from scratch, che se vuoi sperimentare con le compilazioni, ti fa partire da zero e sarebbe l'ideale per provare se le ottimizzazioni della patch portano qualche beneficio

Avatar utente
tano70
Linux 2.x
Linux 2.x
Messaggi: 255
Iscritto il: lun 12 ago 2013, 10:28
Nome Cognome: Tony
Slackware: current 64bit
Kernel: 3.14.17
Desktop: Xfce

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da tano70 »

ZeroUno ha scritto:Ho pacchettizzato la stessa versione di openjdk (ma quella di alienbob, che poi è quasi uguale) in quanto è l'ultima.

Con -j15 ci ha messo 18 minuti.

Invece ho pacchettizzato chromium-31.0.1608.1 in 81 minuti

Non so se caricherò i pacchetti (comunque non ora visto che vado in ferie), ma se li scarichi ricordati che devi avere un i7 per avviarli. Infatti se li carico lo chiamo slackwarei7-current.


In effetti stavo cercando di rileggermi il man di gcc per -march e -mtune.
I pacchetti per slackware x86 sono tutti compilati con -march=i486 e -mtune=i686, il che significa che funzionano benissimo con 686 ma che se hai un 486 funzionano lo stesso; ma non riesco a capire se nel file alla fine che tecnica usa. Che nel binario c'è doppio codice?
Se andrebbe a funzionare senza conseguenze potrei ripacchettizzare con -march=x86_68 -mtune=corei7-avx o equivalente, così se carico i pacchetti non li usano solo i possessori di i7.
Scusami ma per avere queste versioni che hai creato? puoi metterle nei repo o mi dai il link? io ho ancora una versione di chromium piuttosto antica (quella reperita sul sito ufficiale) se hai pacchettizzato l'ultima e funziona bene e senza bug sarei felice di aggiornare la mia. Grazie
P.S anche openjdk con relativo plugin icedtea-web visto che uso tantissimo le chat java

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da ZeroUno »

http://www.z01.eu/repo-slack/slackwarei7-current/

ma devi avere un i7 o superiore.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
tano70
Linux 2.x
Linux 2.x
Messaggi: 255
Iscritto il: lun 12 ago 2013, 10:28
Nome Cognome: Tony
Slackware: current 64bit
Kernel: 3.14.17
Desktop: Xfce

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da tano70 »

Grazie....ma pensavo che potessero andare bene anche con core i5, visto che comunque e' sempre la stessa famiglia di processore. Mi interessava anche chromium, girano comunque meglio queste versioni specifiche compilate per core i7?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da ZeroUno »

puoi provare, ma la probabilità é che non girino proprio.
Facci sapere
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
tano70
Linux 2.x
Linux 2.x
Messaggi: 255
Iscritto il: lun 12 ago 2013, 10:28
Nome Cognome: Tony
Slackware: current 64bit
Kernel: 3.14.17
Desktop: Xfce

Re: [SOLVED] Ottimizzare kernel per i7

Messaggio da tano70 »

Finalmente hai messo chromium versione 31 :) lo voglio provare subito, ma prima gentilmente dovresti chiarirmi un dubbio: devo prima disinstallare la vecchia versone di chromium, cioe' la 29? oppure esiste un comando che mi farebbe fare l'upgrade della versione 31 che ho scaricato al posto della mia 29?? vorrei la procedura piu corretta. Poi in caso non funziona la tua versione (specifica per core i7) e volessi ritornare alla mia 29, che procedimento devo fare? ultima cosa, esiste il pepper flash anche per slackware? su archlinux e su gentoo al posto della versione classica di flashplayer (che ormai non e' piu sviluppata) ho messo la versione pepper, che e' quella che integra chrome di default, ma che su arch e gentoo fa scaricata a parte e abilitata. Su slackware come siamo messi a riguardo?? esiste solo il flashplayer consueto o ci sta anche il pepperflash?

Rispondi