View previous topic :: View next topic |
Author |
Message |
groutchopok Tux's lil' helper


Joined: 22 Feb 2003 Posts: 142
|
Posted: Tue Feb 25, 2003 3:02 pm Post subject: Gcc , make.conf et l'option MAKEOPTS |
|
|
Bon j'a iconfiguré mon make.conf.
comme j'ai un bi-proc j'ai mis -j2 comme option dans le CFLAGS.
ptit problème : il me dit que cette option lui est inconnu lorsque 'il commence le bootstrap.
soit j'ai arrété. j'ai enlevé cette option...et "oh" quand je lis plus bah je vois l'option MAKEOPTS
qui justement permet d'ajouter l'option -j2 pour les bi-proc...
je décommente la ligne et je relance mon bootstrap.
mais je l'ai pas encore vu utiliser cette option de compilation alors que les options dans CFLAGS sont pris en compte...
QUID du -j2 de MAKOPTS?
si MAKEOPTS ne sert à rien, avant le emerge system, je pourrais redéfinir le -j2 dasn lemake.conf à la ligne CFLAGS mais est ce que ce sera encore util à ce moment là? |
|
Back to top |
|
 |
groutchopok Tux's lil' helper


Joined: 22 Feb 2003 Posts: 142
|
Posted: Tue Feb 25, 2003 3:45 pm Post subject: |
|
|
Bon l'impatience m'aura fait posté ça mais bon ça pourra servir à ceux qui ont un bi-proc :
Il semblerait que l'option "-j2" de MAKOPTS (dans le make.conf) soit prise en compte à partir de la compilation de la Glibc lors du bootstrap. ensuite et seuleument ensuite cette option est utilisée lors de la seconde compilation de gcc, des binutils ect...(attendez que je confirme la chose )
donc il y a fort à parier que lors du emerge system il fasse de même tout le temps.
...a suivre donc! je vous tiens au courant |
|
Back to top |
|
 |
sergio Apprentice


Joined: 11 Jun 2002 Posts: 265 Location: Clermont Ferrand, France
|
Posted: Tue Feb 25, 2003 3:49 pm Post subject: Re: Gcc , make.conf et l'option MAKEOPTS |
|
|
groutchopok wrote: | Bon j'a iconfiguré mon make.conf.
comme j'ai un bi-proc j'ai mis -j2 comme option dans le CFLAGS.
ptit problème : il me dit que cette option lui est inconnu lorsque 'il commence le bootstrap.
soit j'ai arrété. j'ai enlevé cette option...et "oh" quand je lis plus bah je vois l'option MAKEOPTS
qui justement permet d'ajouter l'option -j2 pour les bi-proc...
je décommente la ligne et je relance mon bootstrap.
mais je l'ai pas encore vu utiliser cette option de compilation alors que les options dans CFLAGS sont pris en compte...
QUID du -j2 de MAKOPTS?
si MAKEOPTS ne sert à rien, avant le emerge system, je pourrais redéfinir le -j2 dasn lemake.conf à la ligne CFLAGS mais est ce que ce sera encore util à ce moment là? |
Le "-j2" de MAKEOPTS n'a rien à voir avec le multi-processing !!!!
Il s'agit en fait de lancer plusieurs instances de "make" en paralèlle, ça marche aussi bien sur un monoprocesseur que sur un bi. Cette option n'a rien à faire dans le CFLAGS...
Si tu as un bi-processeur c'est au niveau de la compilation du noyeau que tu devras activer la prise en charge multi-processeurs...
PS : Il y a thread dans le forum français qui parle ça (le make -j) mais je n'ai pas le temps de te le rechercher...
A+ |
|
Back to top |
|
 |
groutchopok Tux's lil' helper


Joined: 22 Feb 2003 Posts: 142
|
Posted: Tue Feb 25, 2003 4:13 pm Post subject: |
|
|
bon faut que je me mette à l'anglais moi...
pourtant il disait que c t une option à mettre si on avait 2 proc ou plus...
car ils disent que ça prend en compte les 2 procs lors de la compilation par la suite. si tu mets cette option alors que t'a 1 proc ça va servir à rien...
et j'ai bien vu l'option PARALLELISM="-j2" utilisé pour les make, afin d'utiliser le 2 procs lors de la compilation.
c tout ce que je voulais moi : prendre en compte mes 2 procs lors de l'install pour que je me fasse moins chier à attendre. c tout |
|
Back to top |
|
 |
sergio Apprentice


Joined: 11 Jun 2002 Posts: 265 Location: Clermont Ferrand, France
|
Posted: Tue Feb 25, 2003 4:54 pm Post subject: |
|
|
groutchopok wrote: | bon faut que je me mette à l'anglais moi...
pourtant il disait que c t une option à mettre si on avait 2 proc ou plus...
car ils disent que ça prend en compte les 2 procs lors de la compilation par la suite. si tu mets cette option alors que t'a 1 proc ça va servir à rien...
et j'ai bien vu l'option PARALLELISM="-j2" utilisé pour les make, afin d'utiliser le 2 procs lors de la compilation.
c tout ce que je voulais moi : prendre en compte mes 2 procs lors de l'install pour que je me fasse moins chier à attendre. c tout |
Une petite explication :
Si tu lance deux instances de make en parallèle et que tu as deux procs il est quasi certain que le noyeau linux va répartir la charge sur les deux processeurs : en gros une instance de make par processeur (c'est pas toujours vrai). Si tu n'a qu'un seul processeur chaque instance de make ne dispose que de 50% du processeur et là encore c'est le noyeau qui gère la répartition des ressources...
Maintenant je te propose un test quand tu auras fini ton installation :
Tu lances un emerge avec l'option normale "make -j2" et tu observes avec "top" le comportement de make, tu verras que qu'il y a généralement deux instances en même temps...
Tu lances le même emerge avec "make -j4" et tu verras quatres instances en même temps. Si tu as une machine avec assez de mémoire le make -j4 devrais être plus rapide en général. Car la mémoire joue un rôle aussi grand que la puissance processeur (surtout en compilation) si tu n'en a pas assez tu vas voir que plus tu augmente la valeur make -j plus ta machine va ralentir et plus la compilation va prendre de temps. En effet les ressources occupées par une instance de make ne sont pas dispo pour l'autre...
En gros avec bi-pro on peut dire que :
Make -j2 = 1 instance de make par processeur
Make -j4 = 1 instance par demi-processeur !!!
De toute façon dans le multiprocessing comme dans le monoprocessing, les ressources allouées à une application quelle qu'elle soit ne sont pas disponibles pour une autre...
Pour ma part je trouve que make -j2 est bon compromis dans tous les cas.
Quant à l'install pourquoi tu ne prend pas directement le stage3 (ça marche dans la majorité des cas) et ça évite la phase de bootstrap qui c'est vrai est très longue...
A+ |
|
Back to top |
|
 |
groutchopok Tux's lil' helper


Joined: 22 Feb 2003 Posts: 142
|
Posted: Tue Feb 25, 2003 4:58 pm Post subject: |
|
|
je voulais le stage 1 pour VRAIMENT tout customisé des le départ.
chuis ptet maso mais c po grave )
merci pour ces pécisions sur -j2 je m'en souviendrais maintenant.
on peut pas dire que c t super documenté...et puis dans les docs que j'ai lu tout le monde parlais de "-j2 = bi-proc"
l'amalguame facile quoi
++ |
|
Back to top |
|
 |
groutchopok Tux's lil' helper


Joined: 22 Feb 2003 Posts: 142
|
Posted: Tue Feb 25, 2003 5:17 pm Post subject: |
|
|
Bon rapido que kk1 me réponde :
le emerge système à besoin de l'intervention huamine durant sa procédure ou non? |
|
Back to top |
|
 |
groutchopok Tux's lil' helper


Joined: 22 Feb 2003 Posts: 142
|
Posted: Tue Feb 25, 2003 5:28 pm Post subject: |
|
|
est ce qu'il est possible alors de faire une commande du genre "emerge system & emerge sync & emerge -u world"
?????
répondez moi s'il vous plait! j'ai besoin de cette précision trés rapidement!  |
|
Back to top |
|
 |
arlequin l33t


Joined: 16 Nov 2002 Posts: 707 Location: grep $USER /etc/passwd | cut -d':' -f6
|
Posted: Tue Feb 25, 2003 6:34 pm Post subject: |
|
|
Avec deux & ça marche mieux  _________________ J'vous dis ciao !
Au fait, ciao ça veut dire bye en anglais. |
|
Back to top |
|
 |
DuF Advocate


Joined: 09 Dec 2002 Posts: 2687 Location: Paris
|
Posted: Tue Feb 25, 2003 6:49 pm Post subject: |
|
|
ça peut être bien de faire l'emerge -u world comme ça peut ne pas être bien
perso je préfère le faire à la main avec un -pu avant histoire d'être sûr qu'il ne vas pas faire de bêtise  |
|
Back to top |
|
 |
avendesora Veteran


Joined: 16 Aug 2002 Posts: 1739 Location: Betelgeuse vicinity
|
Posted: Tue Feb 25, 2003 9:09 pm Post subject: |
|
|
groutchopok, fais un peu gaffe en chainant tes emerge.
Il est toujours bon de vérifier ses fichiers de /etc entre un emerge system
et un emerge world (faire 'etc-update' après emerge system, et regarder
s'il y a des fichiers à ajuster).
Aussi, pour mettre les choses au clair:
le "-jX" est une option de MAKE, pas de GCC (C'est pour ca que ca va pas dans les CFLAGS.). Tu peux compiler une appli avec "-j1" ou "-j312", le même code sera généré - pas plus rapide, pas plus lent, exactement le même. Tout ce qui va changer avec le -jX c'est le temps que ca va prendre pour compiler.
Pour obtenir du code différent (plus rapide/plus petit/plus "customizé"), c'est bien dans les CFLAGS que ca se joue (-march=, -OX, -fmachin, etc...) |
|
Back to top |
|
 |
|