View previous topic :: View next topic |
Author |
Message |
enx89 Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/138203630043f8f4042cf75.gif)
Joined: 21 Mar 2003 Posts: 192 Location: Milano
|
Posted: Sat Oct 29, 2005 11:26 am Post subject: profilo portage per le architetture x86_64 intel |
|
|
Ciao a tutti,
da qualche giorno sono un felice utilizzatore di una architettura x86_64 intel (pentium d 820) e tra i vari post per l'installazione della nostra amata gentoo ho trovato info che dicevano di utilizzare il livecd e stage1 amd64 e usare -marc=nocona nel CFLAGS
L'ho fatto e tutto funziona bene, ma qui sorge il dubbio:
non è che, usando il profilo dell'amd64 del portage automaticamente perdo alcune features proprie dell'architettura intel ereditate dal pentium 4? per esempio alcune USE flags vengono messe a "-" dal profilo.
inoltre usando il comando "file" viene fuori quanto segue:
Code: | $ file `which amarok`
/usr/kde/3.4/bin/amarok: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), for GNU/Linux 2.4.1, stripped |
notare che l'architettura che viene mostrata è la "AMD x86-64", ma io NON ho un amd!!!!!
Voi cosa dite?
Ho sparato una marea di cavolate?
Ciao a tutti ENx
P.S.: ho già cercato sul resto del forum, compreso quello per amd64, senza avere delle risposte esaurienti
P.P.S: dimenticavo la mia configurazione:
make.conf:
Code: |
CFLAGS="-march=nocona -O3 -pipe -mmmx -msse -msse2 -msse3 -mfpmath=sse -ftracer -ffast-math"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
MAKEOPTS="-j3"
ACCEPT_KEYWORDS="~amd64" |
il profilo:
Code: | $ ls -l /etc/make.profile
lrwxrwxrwx 1 root root 49 2005-10-24 23:20 /etc/make.profile -> /usr/portage/profiles/default-linux/amd64/2005.1/ |
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
thewally l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/772977575436a9e90e35b9.jpg)
Joined: 12 May 2005 Posts: 703 Location: Genova
|
Posted: Sat Oct 29, 2005 12:26 pm Post subject: Re: profilo portage per le architetture x86_64 intel |
|
|
enx89 wrote: | Ciao a tutti,
da qualche giorno sono un felice utilizzatore di una architettura x86_64 intel (pentium d 820) e tra i vari post per l'installazione della nostra amata gentoo ho trovato info che dicevano di utilizzare il livecd e stage1 amd64 e usare -marc=nocona nel CFLAGS
L'ho fatto e tutto funziona bene, ma qui sorge il dubbio:
non è che, usando il profilo dell'amd64 del portage automaticamente perdo alcune features proprie dell'architettura intel ereditate dal pentium 4? per esempio alcune USE flags vengono messe a "-" dal profilo.
inoltre usando il comando "file" viene fuori quanto segue:
Code: | $ file `which amarok`
/usr/kde/3.4/bin/amarok: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), for GNU/Linux 2.4.1, stripped |
notare che l'architettura che viene mostrata è la "AMD x86-64", ma io NON ho un amd!!!!!
Voi cosa dite?
Ho sparato una marea di cavolate?
|
Uno dei primi risultati cercando nel forum AMD64 "sse disabled" è questo.
In soldoni... quelle flag sono abilitate di default per la tua architettura, per questo vengono segnalate come non utilizzabili.
enx89 wrote: |
P.P.S: dimenticavo la mia configurazione:
make.conf:
Code: |
CFLAGS="-march=nocona -O3 -pipe -mmmx -msse -msse2 -msse3 -mfpmath=sse -ftracer -ffast-math"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
MAKEOPTS="-j3"
ACCEPT_KEYWORDS="~amd64" |
|
Ora... io non sarò un mago delle CFLAGS, ma, usando -march=nocona, penso non ci sia bisogno di inserire tutti quei -m* (a parte -match=nocona, ovviamente!)
Appunto a parte...occhio a quel -O3: con i processori a 64bit i binari vengono già più grandi, senza che tu li appesantisca ulteriormente... consiglio -O2
Ciao
thewally
EDIT: Il profilo che stai utilizzando va benissimo ![Wink :wink:](images/smiles/icon_wink.gif) _________________ Proudly Member of GeCHI |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
cloc3 Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/39525275142a0fd302dc7e.gif)
Joined: 13 Jan 2004 Posts: 4812 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Sat Oct 29, 2005 12:37 pm Post subject: Re: profilo portage per le architetture x86_64 intel |
|
|
enx89 wrote: |
Ho sparato una marea di cavolate?
Code: |
CFLAGS="-march=nocona -O3 -pipe -mmmx -msse -msse2 -msse3 -mfpmath=sse -ftracer -ffast-math"
...
ACCEPT_KEYWORDS="~amd64" |
il profilo:
Code: | $ ls -l /etc/make.profile
lrwxrwxrwx 1 root root 49 2005-10-24 23:20 /etc/make.profile -> /usr/portage/profiles/default-linux/amd64/2005.1/ |
|
Non hai scritto cavolate.
Allora ci provo io, a scriverle.
Secondo me, la questione che poni nasconde una confusione tra la funzione delle CFLAGS e quella delle USE flags.
Le prime sono dirette al compilatore, cioè a gcc. Determinano quindi il codice binario che viene prodotto e che vuoi ottimizzare per il tuo processore.
Le seconde sono relative alle scelte di emerge per la compilazione dei pacchetti. Per esempio, la use arts aggiungerà il supporto al server arstd per il pacchetto kdebase. I valori di default di queste impostazioni possono cambiare in funzione dell'architettura dichiarata, ma possono essere tranquillamente rideterminati con l'uso del file /etc/portage/packages.use (vedi man portage e man emerge).
Le architetture disponibili, e selezionabili attraverso la variabile ACCEPT_KEYWORDS sono contenute in /usr/portage/profiles/arch.list . _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
lavish Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
Joined: 13 Sep 2004 Posts: 4296
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
enx89 Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/138203630043f8f4042cf75.gif)
Joined: 21 Mar 2003 Posts: 192 Location: Milano
|
Posted: Sat Oct 29, 2005 2:52 pm Post subject: |
|
|
Innanzitutto grazie a tutti per la risposta.
Veniamo a noi:
forse mi sono espresso male, ma non ho fatto confusione tra use flags e CFLAGS (uso gentoo dalla versione 1.0_rc6 se facessi ancora confusione tra le due non sarei molto diverso da un utonto window$), quello che intendevo dire è che se alcune use flags sono disabilitate di default è possibile che quando installo un pacchetto e questa use flag è appunto disabilitata, mi perda la feature che essa avrebbe abilitato? se di default la falg use "mmx" è disabilitata cosa avviene compilando Code: | media-video/mjpegtools-1.8.0 (-3dnow) +X +avi +dga -dv +gtk [b](-mmx)[/b] +quicktime +sdl (-sse) -v4l -yv12 | ?
quel (-mmx) cosa comporta? posso ignorare che quella use flag è disabilitata? se sì perchè?
thewally wrote: | Ora... io non sarò un mago delle CFLAGS, ma, usando -march=nocona, penso non ci sia bisogno di inserire tutti quei -m* (a parte -match=nocona, ovviamente!) |
Sicuramente hai ragione, ma non ho mai saputo se il gcc, dandogli -march=nocona, le mettesse tutte in automatico.
thewally wrote: | Appunto a parte...occhio a quel -O3: con i processori a 64bit i binari vengono già più grandi, senza che tu li appesantisca ulteriormente... consiglio -O2 |
Ma con O3 non si creano dei binary un po' + veloce che con O2? o forse il gioco non vale la candela, per cui ci sono + svantaggi che vantaggi?
thewally wrote: | Uno dei primi risultati cercando nel forum AMD64 "sse disabled" è questo. ![Rolling Eyes :roll:](images/smiles/icon_rolleyes.gif) |
ho guardato quel post, ma si continua a parlare solo di amd64!! O si vuol far capire che l'architettura amd è uguale a quella del mio pentium d?
Forse ho un po' di confusione in testa, ma è proprio del vostro aiuto che ho bisogno per capirci di + !!
Ciao a tutti ENx |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
randomaze Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/191195238462262e08ea92.jpg)
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Sat Oct 29, 2005 6:13 pm Post subject: |
|
|
enx89 wrote: | Ma con O3 non si creano dei binary un po' + veloce che con O2? o forse il gioco non vale la candela, per cui ci sono + svantaggi che vantaggi? |
La "velocitá maggiore" degli eseguibili ottenuti on O3 é dovuta al fatto che alcuni cicli vengono scritti in lungo e altri trucci simili. Questo va a discapito delle dimensioni del file finale che diventa decisamente piú grande.
Allora gli eseguibili dovrebbero essere piú veloci (ci sono varie discussioni e scuole di pensiero a tal proposito nel forum) ma di contro il sistema impiega piú tempo a leggere un grosso file rispetto a uno piccolo.
thewally wrote: | O si vuol far capire che l'architettura amd è uguale a quella del mio pentium d? |
Se non ricordo male Intel ha copiato (in modo politicamente corretto si direbbe "si é basata su") AMD per la sua architettura visto il basso successo di Itanium rispetto ad AMD64. _________________ Ciao da me! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
bender86 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/1325898804423b37b1504e1.jpg)
Joined: 18 Mar 2005 Posts: 484
|
Posted: Sat Oct 29, 2005 6:51 pm Post subject: |
|
|
enx89 wrote: | quel (-mmx) cosa comporta? posso ignorare che quella use flag è disabilitata? se sì perchè? |
Se non mi sbaglio, (-mmx) significa che il profilo selezionato non supporta quella use, di conseguenza non è possibile selezionarla. Per sicurezza potresti provare a compilare mplayer. Ovviamente la flag mmx sarà disabilitata. Quando lo esegui da linea di comando, ti dice quali set di istruzioni sono stati selezionati durante la compilazione (3dnow, mmx, mmxext, sse, ...). Se vedi che mmx è selezionato comunque, allora credo che puoi ignorare questo fatto.
Se invece vuoi forzare l'abilitazione delle use, puoi editare /usr/portage/profiles/${ARCH}/use.defaults. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
enx89 Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/138203630043f8f4042cf75.gif)
Joined: 21 Mar 2003 Posts: 192 Location: Milano
|
Posted: Sat Oct 29, 2005 10:28 pm Post subject: |
|
|
bender86 wrote: | enx89 wrote: | quel (-mmx) cosa comporta? posso ignorare che quella use flag è disabilitata? se sì perchè? |
Se non mi sbaglio, (-mmx) significa che il profilo selezionato non supporta quella use, di conseguenza non è possibile selezionarla. Per sicurezza potresti provare a compilare mplayer. Ovviamente la flag mmx sarà disabilitata. Quando lo esegui da linea di comando, ti dice quali set di istruzioni sono stati selezionati durante la compilazione (3dnow, mmx, mmxext, sse, ...). Se vedi che mmx è selezionato comunque, allora credo che puoi ignorare questo fatto.
Se invece vuoi forzare l'abilitazione delle use, puoi editare /usr/portage/profiles/${ARCH}/use.defaults. |
Allora, mplayer dice questo
Code: | MPlayer 1.0pre7try2-3.4.4 (C) 2000-2005 MPlayer Team
CPU: Intel (Family: 8, Stepping: 4)
Detected cache-line size is 64 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compilato per CPU x86 con estensioni: MMX MMX2 3DNow 3DNowEx SSE SSE2
|
io credo che la riga "CPUflags:" mostri il set di istruzione che mplayer a rilevato nel processore, metre la riga sotto quelle per il quale è stato compilato. Non a caso nell'ebuild di mplayer ho trovato questa riga:
Code: | if use amd64; then
myconf="${myconf} --enable-3dnow --enable-3dnowex --enable-sse --enable-sse2 --enable-mmx --enable-mmx2"
|
Come si può vedere, in caso di piattaforme amd64, aggiunge il supporto per qui set di istruzione. Ma è giusto che aggiunga i set propri dell'amd e assenti nelle cpu intel (3dnow, etc....) e che non aggiunga il supporto per l'sse3 che dovrebbe essere presente nel pentium d? Il mio sistema, non il compilatore, sa che ho installato un amd64 non un x86_64 Intel!!!
Io mi chiedo quanto questo sia giusto e se può influire in qualche modo sulla stabilità/performance generali del sistema!! (a dire la verità sembra funzionare tutto correttamente, anche se ho notato un numero eccessivo di crash di konqueror, ma quello può essere dovuto ad altro)
Ciao a tutti e scusate se vi angustio con le mie paranoie
ENx |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|