View previous topic :: View next topic |
Author |
Message |
Windmill Tux's lil' helper
Joined: 21 Feb 2014 Posts: 105
|
Posted: Fri Feb 21, 2014 12:29 pm Post subject: Aiuto per la configurazione |
|
|
Salve, sono un nuovo utente (abbastanza nabbo) di gentoo. Ho provato alcune distribuzioni linux negli ultimi 2 anni, e ora ho deciso di "fare il grande passo". Premetto che ci capisco ben poco di informatica, sistemi operativi, o GNU/Linux, quindi per favore siate paziente. Quello di cui ho bisogno ora è di aiuto nella configurazione del kernel e del make.conf.
Questo è il mio make attuale
Code: |
GNU nano 2.3.2 File: make.conf
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
USE=""
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
MAKEOPTS="-j4"
GENTOO_MIRRORS="http://gentoo.inode.at/ ftp://gentoo.inode.at/source/ http://gd.tuwien.ac.at/opsys/linu$
SYNC="rsync://rsync.fr.gentoo.org/gentoo-portage" |
Ho bisogno di aiuto in particolare per CFLASG e USE. Il mio processore (i5 650)da quanto ho capito avrebbe come march corei7, che differenze c'è tra -march=corei7 e -march=native? C'è qualche altra opzione che posso inserire per ottimizzare? Inoltre, che paremetri sarebbe meglio inserire in USE? Ho bisogno di questo in particolare. INoltre altri consiglio riguardo a come configurare e ottimizzare make.conf sono ben accetti,
Ora veniamo al kernel. Io ho scaricato gentoo-sources, ma il problema è che non so come configurarlo al meglio, perchè non ci capisco quasi nulla di tutte quelle opzioni. |
|
Back to top |
|
|
loxdegio Tux's lil' helper
Joined: 05 Feb 2014 Posts: 94
|
Posted: Fri Feb 21, 2014 7:27 pm Post subject: |
|
|
Allora.. Andiamo con ordine.
Quanto all'ottimizzazione -march=native setta tramite autorilevazione le variabili -march e -mtune adatte al tuo processore, ha un ottima capacità di riconoscimento dell'hardware quindi, se non ti senti sicuro a settare a mano tali parametri, puoi già sentirti tranquillo. Dall'altro canto -march=corei7 è il settaggio corretto e specifico per il processore in tuo possesso, ma non setta nessun'altra variabile di ottimizzazione. Consiglio mio è per ora tenere native poi, quando ne saprai un po' di più, settare le variabili a tuo piacere.
Ci sarebbe un'altra opzione che puoi usare per ottimizzare ed è -mfpu, ma avrei bisogno di dettagli contenuti in /proc/cpuinfo, che non possiedo avendo tutti processori più datati, per darti un indicazione più precisa.
Per le USE puoi trovare alcune descrizioni qui e ovviamente i vari modi per settarli li trovi nel handbook, senza contare che per l'installazione di ogni pacchetto trovi anche le varie flags da settare nella pagina dedicata sul wiki
Quanto al kernel puoi usare una configurazione generica dal kernel già esistente nella live (/etc/kernels della live) o usando genkernel con l'opzione "oldconfig" attiva, giusto per far partire la macchina, quando ci avrai preso un po' più la mano ricordati dei comandi
Code: | # lspci -k
# lsmod
# make localmodconfig |
Saranno molto utili Buona permanenza e uso di Gentoo! |
|
Back to top |
|
|
Windmill Tux's lil' helper
Joined: 21 Feb 2014 Posts: 105
|
Posted: Fri Feb 21, 2014 9:02 pm Post subject: |
|
|
Grazie per aver risposto. Allora l'output di cpuinfo è questo
Code: | processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz
stepping : 5
microcode : 0x2
cpu MHz : 3211.134
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 2
apicid : 5
initial apicid : 5
fpu : yes
fpu_exception : yes
cpuid level : 11
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 rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 6422.26
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management: |
Io avevo precedentemente installato gentoo, e avevao lasciato tutto intatto, avevo solo tolto dai driver ciò che non mi serviva e aggiunto il driver della scheda ethernet, il resto della configurazione ho lasciato di default quello che dava make menuconfig. INoltre vorrei chiedere una cosa, ho trovato questa patch https://github.com/graysky2/kernel_gcc_patch/blob/master/enable_additional_cpu_optimizations_for_gcc.patch#L18 che aggiunge altre famiglie di cpu nella configurazione del kernel, è sicuro applicarla? serve a qualcosa? nel gentoo sources c'è core2/newer xeon che a quanto pare sarebbe adatto per il mio processore.
Last edited by Windmill on Sat Feb 22, 2014 11:45 am; edited 1 time in total |
|
Back to top |
|
|
loxdegio Tux's lil' helper
Joined: 05 Feb 2014 Posts: 94
|
Posted: Sat Feb 22, 2014 11:03 am Post subject: |
|
|
Ottimo... Quanto alla patch, emergendo le gentoo-sources dovresti già averla, comunque essa imposta -march=core2 per ogni processore dal core 2 in su, quindi non so quanto ottimizzi davvero...
Per impostare l'ottimizzazione per il kernel a mano puoi cercare questa sezione nel makefile generale e settare le flags che ti interessano (limitati a -Ox -march e -mtune, altrimenti rischi che non si avvii il kernel):
Code: | CFLAGS_MODULE = # puoi impostare le flags su questa variabile ...
AFLAGS_MODULE = # ... su questa ...
LDFLAGS_MODULE = # ... (qui lascia stare) ...
CFLAGS_KERNEL = # ... su questa ...
AFLAGS_KERNEL = # ... e su quest'ultima |
Quando avrai preso un po' di dimestichezza potresti provare anche le geek-sources che ti permettono di applicare al kernel vanilla un sacco di patch a tua scelta
Quanto alle flags di compilazione ora che ho il contenuto del tuo /proc/cpuinfo (la prossima volta usa uno tra i tag Quote o Code per postare qualche output, in modo che il tutto rimanga più ordinato ) IMHO puoi aggiungere alle CFLAGS:
Code: | CFLAGS=" ... -mmmx -mfpmath=sse -msse4.2 ... " |
In modo ce la stringa completa diventi:
Code: | CFLAGS="-O2 -march=corei7 -mtune=corei7 -mmmx -mfpmath=sse -msse4.2 -pipe" |
Per il resto mi pare tutto a posto. Una volta che avrai impostato il profilo e le tue personali USE (o anche prima ) puoi tornare a chiedere qui per delucidazioni |
|
Back to top |
|
|
Windmill Tux's lil' helper
Joined: 21 Feb 2014 Posts: 105
|
Posted: Sat Feb 22, 2014 12:12 pm Post subject: |
|
|
No, non c'è nessuna patch in gentoo sources, ci sono solo:
-Opteron/Atlhon64/Hammer/K8https://forums.gentoo.org/index.php
-Intel P4 / older Netburst based Xeon
-Core 2/newer Xeon
-Intel Atom
-Generic-x86-64
Comunque ho scelto il profilo KDE e aggiunto queste altre USE flags
USE="bash-completion vdpau -gnome -gtk -gtk2 -gtk3 -wifi"
Comunque le opzioni che hai postato vengono già attivato da -march=native |
|
Back to top |
|
|
loxdegio Tux's lil' helper
Joined: 05 Feb 2014 Posts: 94
|
Posted: Sat Feb 22, 2014 3:49 pm Post subject: |
|
|
Non tutte... Solo -march=corei7 e -mtune=corei7 vengono settate da -march=native. Io comunque ti ho postato la configurazione esplicita per trasparenza, poi decidi tu la notazione
Quanto alla patch, mi ricordavo ci fosse... Boh... Comunque basta che segui le mie indicazioni per l'ottimizzazione del kernel e non dovrebbe nemmeno servirti |
|
Back to top |
|
|
Windmill Tux's lil' helper
Joined: 21 Feb 2014 Posts: 105
|
Posted: Sat Feb 22, 2014 3:59 pm Post subject: |
|
|
Io ho provato
Code: | gcc -march=native -E -v - </dev/null 2>&1 | grep cc1 |
e mi da tutto questo output
Code: | /usr/libexec/gcc/x86_64-pc-linux-gnu/4.7.3/cc1 -E -quiet -v - -march=corei7 -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rdrnd -mno-f16c -mno-fsgsbase --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=4096 -mtune=corei7 |
Comunque non so come modificare il file di configurazione, per ora lascio così, vorrei evitare casini |
|
Back to top |
|
|
loxdegio Tux's lil' helper
Joined: 05 Feb 2014 Posts: 94
|
Posted: Sun Feb 23, 2014 5:43 pm Post subject: |
|
|
Come preferisci... Già così è una bestia
Ah, un'altra cosa: alla variabile SYNC ti conviene settare un server circolare al posto di uno specifico in questo modo
Code: | SYNC="rsync.europe.gentoo.org" |
che in pratica è un alias che seleziona automaticamente il primo server rsync disponibile a livello europeo. Questo perché tali server NON sono SEMPRE online e quindi non è sicuro riuscire a sincronizzare portage con un server specifico |
|
Back to top |
|
|
|