(Courriels de diversion: <antidemocratiques@rheostat-desserre.com> <comptes-cheques@curseurs-relierai.com> <tentiez@siffla-enliserons.com> <confrontent@adoption-microfilmes.com> <caricaturant@concedent-organisez.com> <plient@remarquent-predise.com> <enferres@tussor-assecherons.com> <cassures@entremêleraient-cuirasse.com> <goudronnais@epanouirais-combler.com> <rouges@surviendriez-surveillerais.com> )


Bon ... en fait pour faire simple :
32bits : SYSENTER/SYSEXIT
64bits : SYSCALL/SYSRET

Dune2 .... ok je -->[]

c.kumsta a écrit :
> Bon alors petite rectification, car après relecture des datasheets d'intel, SYSENTER/SYSEXIT est opérationnel en mode 64bits aussi :)
> 
> Mais dans le source du noyau (2.6.22.5) on s'aperçoit qu'il n'est utilisé _que_ pour les appels systèmes des applis 32bits fonctionnant
> en mode ia32-émulé.
> Cf : ./arch/x86_64/ia32/vsyscall-sysenter.S
> [...]
> 	movl	%esp,%ebp
>  *->	sysenter
> 	.space 7,0x90
> 	jmp	.Lenter_kernel
> 	/* 16: System call normal return point is here! */
> [...]
> 
> Mais les appels systèmes sont plus simples en x86_64 grâce à l'adressage linéaire.
> Cf : ./arch/x86_64/kernel/entry.S
> [...]
> 	jnz tracesys
> 	cmpq $__NR_syscall_max,%rax
> 	ja badsys
> 	movq %r10,%rcx
>  *->	call *sys_call_table(,%rax,8)  # XXX:    rip relative
> 	movq %rax,RAX-ARGOFFSET(%rsp)
> [...]
> 
> Donc ce n'est même pas évident que le changement de contexte user/kernel soit plus lent ....
> 
> Bon ok .. j'arrête de me parler tout seul :)
> 
> Dune2++
> 
> c.kumsta a écrit :
>> Salut,
>>
>>   la difficulté du mix 64/32 bits est un peu plus subtile que le simple gain de performance.
>> Je vais essayer de faire dans ce mail un petit récap des avantages/inconvénients pour avoir une vue un peu plus poussé du problème.
>>
>> En ce qui me concerne, j'ai depuis 3 ans un portable Turion64 et maintenant
>> un Core2Duo compatible em64t (appellation intel de l'amd64),
>> et j'ai eu l'occasion d'utiliser (et d'avoir un retour d'expérience) :
>> Gentoo en 32 et 64 bits ainsi que kubuntu (moments de faignantises :) ) en 32 et 64 bits.
>>
>> 1) En ce qui concerne les gains de perf à l'usage :
>> - pas de gain significatif sur l'usage courant (firefox/thunderbird/openoffice) en 64bits
>> - gain de perf pour tout outil de traitement de données (mplayer/transcode/gimp/blender) en 64bits
>>
>> 2) Quelques différences techniques permettant de comprendre la présence ou absence de gain :
>> 32bits ->
>> 	Limite du nombre de registres CPU.
>> 	Utilisation des instructions SYSENTER/SYSEXIT pour les syscalls (appels systèmes en contexte noyau)
>> 		facilitant le changement de contextes de manière hardware.
>> 	Utilisation intensive du MMU pour les translations d'adresses composées (PAGE+OFFSET+...) non linéaire.
>> 64bits ->
>> 	Extension du nombre de registres (SSE 8->16, GP-> 8->16) et extension des registres classiques (GP) à 64bits
>> 	SYSENTER/SYSEXIT non utilisables
>> 	Translations d'adresses simplifiées par linéarisation de l'espace d'adressage sur 64bits
>>
>> cela à pour conséquence :
>> 32 bits ->
>>         Meilleure efficacité lors des context-switching et appels systèmes
>>         Binaires plus petits (data 32bits) -> temps de chargement du binaire à partir du HDD meilleur.
>> 	Cache CPU plus important (data et adresses 32 bits)
>> 64 bits ->
>> 	Moins de perte de temps avec les variables temporaires (plus de registres)
>> 	Calculs plus précis (64bits) et plus rapides (plus de registres => moins de lecture mémoire)
>> 	Adressage simplifié
>> 	Cache CPU moindre (data et adresses en 64bits)
>> 	Binaire plus gros -> temps de chargement allourdi
>>
>> On se rend donc compte qu'en terme d'utilisation bureautique, le gain en CPU est minime en 64bits et
>> est compensé par des syscalls légèrement moins efficaces. D'où cette sensation de gain quasi-null.
>> Par contre dés qu'on utilise des outils de traitement du signal ou image (vidéo,son,rendering ...), là
>> le 64bits prend tout son intérêt car la perte des syscalls hardware est très vite compensé par le gain sur les temps de calcul.
>>
>> Il est donc "normal" d'avoir un avis divergeant sur l'intérêt du 64bits en fonction de ce qu'on recherche à faire.
>>
>> Pour ce qui concerne ensuite l'usage courant d'une distribution en 64bits,
>> il est à noter pour commencer que le marché des architectures 64bits est encore jeune et est donc en plein évolution (stabilisation).
>> Ceci a pour conséquence que l'interopérabilité des outils binaires (win32codecs par exemple) arrivent doucement
>> (win64codecs vient juste de sortir).
>>
>> Je parle de win32codec car c'est généralement le 1er problème qu'on rencontre en 64bits pour pouvoir les vidéos,
>> mais il en est de même pour tout ce qui est lecteur RealPlayer et autres binaires non-ouvert (pilotes proprio).
>>
>> La solution consiste effectivement à installer un système mixte (base en 64bits obligatoire, puis certains outils en 32bits
>> fonctionnant en mode compatibilité 32bits sur un système 64bits) mais en acceptant une perte de perf pour ces outils
>> (gênant si c'est par exemple mplayer lié avec les win32codec !!).
>> Et ceci peut (pouvait car avec les derniers package 64bits qui arrivent ce problème se pose de moins en moins) être pénalisant :
>> win32codec -> mplayer-32 -> firefox-32 (pour pour pouvoir integrer mplayer-32) -> thunderbird-32 (pour se lier à firefox-32).....
>> bref ... retour au 32bits mais en émulation !!!
>>
>> Donc, en espérant que le nombre de portages 64bits continue au rythme actuel, pour ma part,
>> je considère que basculer en mode 64bits est aujourd'hui avantageux pour les CPUs qui le supportent.
>> Et de plus, plus il y-aura d'utilisateurs 64bits, plus il y aura de retour de bugs,
>> et donc plus il y aura de corrections et d'ajout de fonctionnalités !
>>
>> Voili-voilou :)
>>
>> Dune2++
>>
>>
>> Michael.magoga a écrit :
>>> B'jour à tous,
>>>
>>> Je viens de voir passer deux ou trois mails parlant des installations 64
>>> et 32 bits (ubuntu).
>>>
>>> Bon, il parait que les différences de perfs sont minuscules. Je veux
>>> bien le croire pour une utilisation courante. Moi perso je développe et
>>> travaille avec un logiciel tellement gourmand et manipulateur de données
>>> que la différence devient sensible ... mais ce n'est pas une utilisation
>>> classique.
>>>
>>> Mais la n'est pas la question. Ce qui m'interpelle (et m'inquiete un peu
>>> aussi), c'est de voir que du coup on conseille de rester en 32 bits, car
>>> tous les logiciels ne sont pas en 64bits.
>>>
>>> Or chez moi (mandriva), j'ai  ... les deux. J'ai un rep lib64 et un rep
>>> lib, j'ai des applis 32 bits et des applis 64bits. En fait j'installe la
>>> version 64 si possible et me rabat sur la 32 sinon. Et pour l'instant
>>> tout à l'air de marcher. J'ai pas noté de problemes particulier, pas de
>>> bugs bizarre (sauf sur ktorrent, mais ca a l'air d'être autre chose).
>>>
>>> D'ou ma question : me leurre-je ? Est-ce que cette facon de faire serait
>>> inutile, voire génératrice de problemes ? S'il y a parmi vous des
>>> connaisseurs en la matiere, j'aimerais bien avoir un avis serieux la dessus.
>>>
>>>
>>> 		Mick
>>
>>
>> --------------------------------------------------------------------
>> Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>
>>
>>
>>
> 
> 



--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>