# Consiglio non urgente su compilazione kernel

## Meconiotronic

Ciao, da quando ho gentoo mi sono sempre compilato i kernel a mano, ho tutte le informazioni necessarie pr far funzionare il mio hardware infatti bene o male funge tutto comprese le cose più ostiche quali pennette digitale terrestre etc...

Mi chiedevo una cosa, siccome quasi a ogni kernel escono opzioni per velocizzare la gestione dei task e del carico (Quando do make oldconfig spesso vengono chieste cose importanti al livello di processore) io bene ho male le traduco su google translate e decido se includerle o meno, ma ho l'impressione che il mio sistema benchè abbia 6 giga di ram in trial channel e un core i7 non mi sembra molto reattivo. Ho attivato da sempre il SMP, muticore sheduling support incluso solo i moduli necessari al mio hw etc.. 

Se voi che magari ne sapete di puù mi potreste consigliare delle opzioni da attivare assolutamente per rendere il sistema più reattivo o una guida che mi possa tornare utile diversa dalla solita (Apri xconfig scegli i parametri e compila)

Uso prelink  inoltre in openrc ho attivato l'ozione di parallel start ma il sistema ci mette davvero tanto ad avviarsi nonostante nei runlevel ho solo cose necessarie, poi parlo proprio a livello di avvio delle applicazioni ci mettono molto a caricarsi, e se c'è un task abbastanza pesante in atto il sistema diventa quasi inutilizzabile.

Per dire tempo fa ho provato l'ubuntu nuova e in 3 secondi aveva bootato. Eppure ha un kernel pesantissimo.

Le opzioni di compilazione del mio make.conf sono:

CHOST="x86_64-pc-linux-gnu"

CFLAGS="-march=core2 -msse4 -mcx16 -msahf -O2 -pipe -fomit-frame-pointer"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j9

Grazie.

----------

## fbcyborg

Dunque se non è urgente direi che puoi aspettare benissimo!  :Razz:   :Razz: 

Sto scherzando ovviamente!  :Razz: 

Per quanto riguarda oldconfig, sinceramente non lo uso più da diversi anni. Ormai quando compilo un nuovo kernel uso solo make menuconfig, aggiusto quello che c'è da aggiustare se necessario e poi salvo il .config e compilo. Quindi direi che puoi anche saltare l'oldconfig.

Per quanto riguarda il SMP, hai fatto bene ad attivarlo. Comunque anche io che, sebbene abbia una CPU meno veloce della tua, ho un Q9400, ovvero un Quad Core e 4GB di RAM, all'avvio non riscontro tutta questa velocità, anche se non ho RC_PARALLEL=YES. Però ho un po' di servizi che partono in automatico.

Le opzioni di compilazione del tuo make.conf non influiscono sull'esecuzione del kernel. Quelle sono per portage!

----------

## djinnZ

se compili in ram -pipe serve solo a dar fastidio, 

http://en.gentoo-wiki.com/wiki/Safe_Cflags#General_Information_on_CFLAGS

http://en.gentoo-wiki.com/wiki/Hardware_CFLAGS

tanto è per controllare se non ti sei dimenticato qualcosa.

Hai smascherato prelink? Ma non era deprecato e sicura fonte di rogne e maledizione sulla discendenza futura sino alla settima generazione usarlo?

Per il resto credo che siano problemi di configurazione del kernel e di rc_hotplug.

nel dubbio parti dalla configurazione di genkernel e rifiniscila togliendo le cose inutili.

Anche eccessive use flag e dipendenze inutili possono provocare problemi (se una installazione media gentoo è più reattiva di una ubuntu è più per questo che per mistiche impostazioni di compilazione o configurazione del kernel).

NB: altrimenti direi di verificare ove risiedi. Potrai dirti "ma che ci azzecca? stiamo parlando di sistema..." e ti rispondo che secondo la sponda del Rubicone su cui insisti (se sei nordico o meridionale per capirci) è colpa di Pisapia o di de Magistris e della madre sempre incinta ... di chi? fate voi   :Mr. Green: 

----------

## lele_dj

Potrebbe dipendere dal tipo di disco e dalla sua velocità ... e perchè no, dal filesystem 

Io ho 2 dischi con 2 gentoo ... la prima su un velociraptor 150GB da 10000rpm e ~amd64 ... la seconda su un disco intel SSD da 80GB e amd64 .... ti dico che come velocità di caricamento al boot e apertura programmi tipo firefox, adobe-reader, gimp ... non c'è paragone .... sulla gentoo del disco SSD i tempi di boot con pressapoco le stesse impostazioni del kernel che ho sull'altra sono quasi la metà  (meno di 12 secondi e appare il desktop con già tutto caricato e pienamente operativo)  :Shocked:  e l'apertura dei programmi è praticamente istantanea dopo il click del mouse ..... per cui il tuo problema potrebbe derivare dalla velocità dell hard disk

----------

## ago

```
CFLAGS="-O2 -march=native -g0 -w"

CXXFLAGS="${CFLAGS}"

LDFLAGS="${LDFLAGS} -Wl,--hash-style=gnu"
```

P.S. metti il makeopts a 8

OT:

 *lele_dj wrote:*   

> Io ho 2 dischi con 2 gentoo ... la prima su un velociraptor 150GB da 10000rpm e ~amd64

 

MI riporteresti un hdparm -Tt $tuoraptor? grazie!

----------

## lele_dj

 *ago wrote:*   

> 
> 
> MI riporteresti un hdparm -Tt $tuoraptor? grazie!

 

Eccolo

```
hdparm -Tt /dev/sdb

/dev/sdb:

 Timing cached reads:   19182 MB in  2.00 seconds = 9602.32 MB/sec

 Timing buffered disk reads: 372 MB in  3.01 seconds = 123.46 MB/sec

```

P.S. perchè dovrebbe mettere -j8? ... il corei7 ha 8 core logici per cui va bene -j9 (numero processori + 1)

----------

## ago

 *lele_dj wrote:*   

> P.S. perchè dovrebbe mettere -j8? ... il corei7 ha 8 core logici per cui va bene -j9 (numero processori + 1)

 

E perché dovrebbe mettere numero processori + 1?

----------

## lele_dj

 *ago wrote:*   

>  *lele_dj wrote:*   P.S. perchè dovrebbe mettere -j8? ... il corei7 ha 8 core logici per cui va bene -j9 (numero processori + 1) 
> 
> E perché dovrebbe mettere numero processori + 1?

 

Così spiega la guida ufficiale   :Very Happy: 

```
MAKEOPTS

With MAKEOPTS you define how many parallel compilations should occur when you install a package. A good choice is the number of CPUs (or CPU cores) in your system plus one, but this guideline isn't always perfect. 
```

----------

## ago

hai letto anche le ultime parole?  :Very Happy: 

----------

## lele_dj

 *ago wrote:*   

> hai letto anche le ultime parole? 

 

Certamente ... ma sinceramente da quando uso gentoo questa configurazione non mi ha mai dato problemi con nessun processore    :Very Happy: 

P.S. Se non andava bene come impostazione, nella guida non avrebbero mai inserito 

```
"Una buona scelta è il numero dei processori nel vostro sistema più uno"
```

  :Wink: 

----------

## djinnZ

ribadendo quanto già detto ... ricordo che c'era un ottimo motivo ma vattelappesca adesso.

@Meconiotronic: cambierei il titolo del thread in qualcosa di più comprensibile del genere "kernel xxx prestazioni poco soddisfacenti" e credo vada in discussioni. Contattare il kernel ( 78 ).

----------

## ago

 *lele_dj wrote:*   

> Certamente ... ma sinceramente da quando uso gentoo questa configurazione non mi ha mai dato problemi con nessun processore    

  Nessuno ha parlato di problemi

 *lele_dj wrote:*   

> P.S. Se non andava bene come impostazione, nella guida non avrebbero mai inserito 
> 
> ```
> "Una buona scelta è il numero dei processori nel vostro sistema più uno"
> ```
> ...

 

Ma hai fatto delle prove o ti basi solo su quel che c'è scritto nella "guida" ?

----------

## fbcyborg

 *lele_dj wrote:*   

>  *ago wrote:*    *lele_dj wrote:*   P.S. perchè dovrebbe mettere -j8? ... il corei7 ha 8 core logici per cui va bene -j9 (numero processori + 1) 
> 
> E perché dovrebbe mettere numero processori + 1? 
> 
> Così spiega la guida ufficiale   

 

Concordo pienamente e lo uso da sempre senza alcun problema!

----------

## lele_dj

 *ago wrote:*   

> 
> 
> Ma hai fatto delle prove o ti basi solo su quel che c'è scritto nella "guida" ?

 

Non vedo perchè dovrei fare delle prove visto che non ho mai riscontrato problemi

----------

## ago

Continuo a non capire perché parlate di problemi, qui stiamo parlando di prestazioni.

----------

## fbcyborg

Spesso capita che uno o più problemi siano la causa di un decremento di prestazioni.

----------

## ago

Vi invito cmq a fare dei test per avere le idee più chiare  :Wink: 

----------

## xdarma

 *Meconiotronic wrote:*   

> Mi chiedevo una cosa, siccome quasi a ogni kernel escono opzioni per velocizzare la gestione dei task e del carico (Quando do make oldconfig spesso vengono chieste cose importanti al livello di processore) io bene ho male le traduco su google translate e decido se includerle o meno, ma ho l'impressione che il mio sistema benchè abbia 6 giga di ram in trial channel e un core i7 non mi sembra molto reattivo. Ho attivato da sempre il SMP, muticore sheduling support incluso solo i moduli necessari al mio hw etc.. 
> 
> Se voi che magari ne sapete di puù mi potreste consigliare delle opzioni da attivare assolutamente per rendere il sistema più reattivo o una guida che mi possa tornare utile diversa dalla solita (Apri xconfig scegli i parametri e compila)
> 
> 

 

Un sito interessante, dove puoi trovare notizie sulla configurazione del kernel e anche dei .config per i gentoo-sources è www.kernel-seeds.org

Oppure copia la configurazione di un kernel di una live come sysrescuecd, di solito trovi il file di confgiurazione sotto /proc/config.gz

Per le opzioni da attivare, a parte autogroups, non so cosa consigliarti. Anzi, se non ti serve, prova a dis-attivare tutto quello che ha a che fare con il debugging.

----------

## Meconiotronic

@ fbcyborg  *Quote:*   

> Per quanto riguarda oldconfig, sinceramente non lo uso più da diversi anni. Ormai quando compilo un nuovo kernel uso solo make menuconfig, aggiusto quello che c'è da aggiustare se necessario e poi salvo il .config e compilo. Quindi direi che puoi anche saltare l'oldconfig.

 

Dici io non ho mai provato quella procedura su un nuovo kernel per paura che perdesse le impostazioni del precedente, quindi in parole povere portage mi scompatta il nuovo update del kernel (Ho la flag che mi fa il link automatico al nuovo kernel in /usr/src/linux) quindi cd /use/src/linux e make xconfig o menuconfig e ho già anche le impostazioni di quello vecchio + le voci da abilitare del nuovo?

@djinnZ è stato pisapia a rubarmi le performance dalla distro

@lele_dj  *Quote:*   

>  Potrebbe dipendere dal tipo di disco e dalla sua velocità ... e perchè no, dal filesystem 

 

Decevo nel post che ho provato anche ubuntu, l'ho installata nello stesso hd di gentoo. Poi ovvio che un ssd è una figata senza limiti.

Per quanto riguarda il makeopt si la guida dice numero di processori +1 quindi il ragionamento è stato 4 core fisici, 4 dell'HT +1 e cmq magari se fosse sbagliato influirebbe sul tempo di compilazione non sul caricamento di sistema e programmi.

@xdarma grazie ora guardo un po' il sito  *Quote:*   

> prova a dis-attivare tutto quello che ha a che fare con il debugging

  mai attivato nulla a riguardo nel kernel

----------

## Kernel78

Moved from Forum italiano (Italian) to Forum di discussione italiano.

----------

## fbcyborg

 *Meconiotronic wrote:*   

> @ fbcyborg 
> 
> Dici io non ho mai provato quella procedura su un nuovo kernel per paura che perdesse le impostazioni del precedente, quindi in parole povere portage mi scompatta il nuovo update del kernel (Ho la flag che mi fa il link automatico al nuovo kernel in /usr/src/linux) quindi cd /use/src/linux e make xconfig o menuconfig e ho già anche le impostazioni di quello vecchio + le voci da abilitare del nuovo?

 

Assolutamente no! Non perdi nessuna configurazione! E te lo dico perché anni fa, feci anche io il tuo stesso "errore", e qualcuno qui, se non ricordo male, mi disse proprio questa cosa che sto dicendo a te. Al massimo può succedere che ti ritrovi qualche modulo non compilato perché "gli hanno cambiato posizione" ma lì te ne accorgeresti subito, perché qualcosa non funziona (non so, la scheda di rete per esempio) e andresti subito a controllare se il modulo è compilato! La flag symlink non comporta nulla in questo senso. Alla fine, io non ce l'ho settata quella flag, e con eselect kernel set setti la versione del kernel quando vuoi, in ogni momento*.

*eselect kernel list per vedere qual'è quella attuale.

----------

## djinnZ

ribadendo sempre quanto già detto ma il numero di thread in compilazione cosa "ci azzecca" con il risultato finale?

----------

## fbcyborg

Ovviamente niente.

Infatti, oltretutto, come ho già detto:

 *fbcyborg wrote:*   

> Le opzioni di compilazione del tuo make.conf non influiscono sull'esecuzione del kernel. Quelle sono per portage!

 

----------

## djinnZ

Anche perchè continuo a sospettare del prelink (se è quello che ho capito) ed un problema del genere non può essere solo di kernel.

In particolare parlavo di rc_hotplug perchè sarebbe bene non far avviare in hotplug la rete, soprattutto se in dhcp.

----------

## ago

 *djinnZ wrote:*   

> ribadendo sempre quanto già detto ma il numero di thread in compilazione cosa "ci azzecca" con il risultato finale?

 

Era un di più dato che sono state consigliate {C,CXX,LD}FLAGS

----------

