GNU/Linux >> Tutoriels Linux >  >> Linux

désactiver par programme la prélecture matérielle sur les systèmes AMD

Tous les processeurs AMD Family 10h (y compris Barcelona et Istanbul) ont deux préchargeurs matériels différents.

  1. Le premier est le préchargeur de cache de données traditionnel qui reconnaît les flux contigus d'accès à la ligne de cache ascendants ou descendants. Il peut être désactivé en définissant le bit 13 de MSRC001_1022 sur "1".

  2. L'autre préchargeur matériel est le "préchargeur du contrôleur de mémoire". Il s'agit d'un prérécupérateur un peu plus général, mais qui ne fonctionne qu'au sein du contrôleur de mémoire (c'est-à-dire qu'il n'envoie pas les données prérécupérées à un cœur - il permet simplement au contrôleur de mémoire de les renvoyer plus rapidement lorsque le cœur le demande).

    • Le contrôle principal de ce prefetcher se trouve dans l'espace de configuration PCI, Fonction 2, décalage 11Ch, avec un contrôle supplémentaire dans la Fonction 2, décalage 1B0h pour les processeurs après Barcelone.
    • J'ai réussi à désactiver et à réactiver ce prefetcher sur un système Barcelona "en direct" en mettant à jour les valeurs dans l'espace de configuration PCI via le pilote de périphérique /dev/mem. (N'essayez pas ça chez vous !)
    • L'activité du prérécupérateur du contrôleur de mémoire est indiquée par l'événement de compteur de performances matérielles 1F0h, avec les UnitMasks 02 et 04.
    • Notez que le préchargeur du contrôleur de mémoire pour Shanghai/Istanbul/MagnyCours fonctionne de manière "cohérente" (ce qui signifie que les opérations de vérification de la cohérence du cache sont émises avec les prélectures de la mémoire), tandis que le préchargeur du contrôleur de mémoire à Barcelone n'émet pas d'opérations de cohérence du cache (ils n'est pas émis tant que la demande du cœur pour la ligne de cache n'arrive pas au contrôleur de mémoire).

Les éléments ci-dessus sont documentés dans le BIOS et le Guide du développeur du noyau pour les processeurs de la famille 10h :http://support.amd.com/us/Processor_TechDocs/31116.pdf


Linux
  1. Utilisation de la mémoire Linux

  2. Comment désactiver ETag dans NGINX

  3. Grep :Mémoire épuisée ?

  4. Vim Latex :Désactiver Quickfix ?

  5. Comment désactiver NUMA dans CentOS / RHEL 6,7

Qu'est-ce que la NVM (mémoire non volatile) ?

Comment désactiver/désactiver le bip sonore du matériel dans le terminal Debian 10

Comment désactiver / désactiver le bip sonore du matériel dans le terminal Ubuntu

FSTAB &MTAB

Comment désactiver définitivement Swap sous Linux

Désactiver par programmation les mises à niveau sans surveillance d'Apt ?