| ||||||||
Astucien | Bonjour, en regardant les messages du noyau Linux sous ArchLinux, je me suis rendu compte que l'IOMMU n'était pas activé par défaut sur mon portable qui possède huit gigaoctets de mémoire vive. J'ai fais quelques recherches et lu [PDF] Evaluating IOMMU Performance - The Linux Kernel Archives . l'IOMMU est mieux côté sécurité pour la mémoire vive, elle est plus facilement adressable par les applications, l'IOMMU ne serait pas vraiment pénalisant pour les performances. C'est en anglais, je n'ai pas tout saisis. Cela va de soi d'activer l'IOMMU dans le BIOS si possible ou d'en forcer l'utilisation par le noyau Linux, en lui passant le paramètre iommu=force lorsque qu'on possède 4go de mémoire vive et plus. D'autres options au paramètre iommu= sont possibles et d'autres paramètres concernant l'IOMMU peuvent être passés au noyau Linux. L'étude est à poursuivre. Je viens d'ajouter le paramètre iommu=force au noyau dans la configuration de Grub. Je vous donne la suite des messages du noyau lorsque j'aurai fini de compiler LibreOffice sous Funtoo, pour terminer ma connexion SSH de mon portable (ArchLinux) vers ma mini-tour (Funtoo) et que je pourrai redémarrer. dmesg ... [ 0.000000] Your BIOS doesn't leave a aperture memory hole ... [ 3.818974] PCI-DMA: More than 4GB of RAM and no IOMMU falling back to iommu=soft. ... | |||||||
Publicité | ||||||||
| ||||||||
Astucien | Il semble que mon sur mon portable, l'IOMMU ne soit pas supporté ou très peu au niveau matériel par les périphériques qui utilisent les transferts DMA, etc. C'est le noyau Linux qui fait les conversions d'adresses et vérifications de sécurité de l'IOMMU au niveau logiciel. Comme j'ai une carte graphique sur port PCI Express, je peux désactiver le port AGP. Ayant 8 go de mémoire vive, je force l'utilisation de l'IOMMU. Je dis à l'IOMMU de ne pas initialiser le pilote AGP et de ne pas utiliser l'aperture du BIOS pour la carte video PCI Express, puisqu'il n'y a pas d'option dans le BIOS à cet effet. L'aperture n'augmente pas les performances, etc. Une région de 64 mégaoctets est quand réservé, mais ce n'est ni le GART, ni l'IOMMU qui la gère, mais l'SWIOTLB [ 3.473807] PCI-DMA: Using software bounce buffering for IO (SWIOTLB) Exemple de paramètres passés au noyau Linux pour cette configuration personnalisée Sous toutes réserves, puisque c'est la première fois que j'ai plus de 4 go de mémoire vive et que l'IOMMU est tout nouveau pour moi. Je poursuis mon étude. | |||||||
Grand Maître astucien | Bonsoir Paul,
Pour les béotiens, dont je fais partie, IOMMU = input/output memory management unit (IOMMU) Si je regarde ces schémas, ça ne semble pas directement accessible aux applications :
Ce qui m'étonne un peu, c'est cette référence à l'AGP. Je le croyais disparu. | |||||||
Astucien | Dans mon premier message j'ai effectivement dit que les applications pouvaient adresser. Je commencais mon étude de l'IOMMU. Je n'ai pas pensé que ce sont les périphériques qui supportent le mode DMA qui demandent de l'espace mémoire comme entrées/sorties. Mon propos étais confus vu qu'un périphérique n'est pas une application, mais utilise plutôt un microcode. Certains microcodes justement supportent nativement l'IOMMU, mais dans mes trois ordinateurs, ultra-portable, portable et mini-tour, l'IOMMU est supporté logiciellement par Linux lui-même. Comme l'IOMMU s'adresse beaucoup aux périphériques DMA, il est utilisé aussi sur le port AGP comme remplacement du GART qui gère l'aperture et la mémoire partagée sur ce port, sauf erreur. L'IOMMU comme le GART, traduisent des adresses physiques non-contigües de la mémoire vive en adresses logiques contigües pour la carte vidéo et vice-versa. L'AGP a cédé la place au PCI Express, mais le GART PCIe existe. Il peut être géré par l'IOMMU si le port PCIe le supporte. L'IOMMU sert à protéger les accès non authorisées à la mémoire vive par les applications en s'assurant que les adresses logiques demandées correspondent à celles octroyées par le noyau et l'IOMMU pour le port et/ou le périphérique qui fait la requête. L'IOMMU reprend en quelque sorte les principes du GART et de la mémoire protégée connues depuis longtemps. Il ajoute l'adressage 64 bits en haut de la limitation du 4 go des processeurs et ports à adressage 32 bits et peut convertir l'adressage 64 bits en 32 bits pour eux. L'IOMMU offre donc aussi une compatibilité descendante, pour le port AGP par exemple. Côté performances, l'IOMMU se tire bien d'affaires selon le lien que j'ai donné. Bonsoir / Bonne nuit. Modifié par Logicien le 19/11/2012 04:48 | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|