GNU/Linux >> Linux Esercitazione >  >> Linux

disabilitare a livello di codice il prefetching hardware sui sistemi AMD

Tutti i processori AMD Family 10h (inclusi Barcelona e Istanbul) hanno due diversi prefetcher hardware.

  1. Il primo è il tradizionale prefetcher della cache di dati che riconosce flussi contigui di accessi alla linea di cache ascendenti o discendenti. Può essere disabilitato impostando il bit 13 di MSRC001_1022 a "1".

  2. L'altro prefetcher hardware è il "prefetcher del controller di memoria". Questo è un prefetcher un po' più generale, ma funziona solo all'interno del controller di memoria (ovvero, non invia i dati precaricati a un core, ma consente solo al controller di memoria di restituirli più rapidamente quando il core lo richiede).

    • Il controllo principale per questo prefetcher è nello spazio di configurazione PCI, Funzione 2, offset 11Ch, con controllo aggiuntivo nella Funzione 2, offset 1B0h per i processori dopo Barcelona.
    • Ho avuto successo nel disabilitare e riabilitare questo prefetcher su un sistema Barcelona "attivo" aggiornando i valori nello spazio di configurazione PCI tramite il driver di dispositivo /dev/mem. (Non provarlo a casa!)
    • L'attività del prefetcher del controller di memoria è mostrata dall'evento del contatore delle prestazioni hardware 1F0h, con UnitMasks 02 e 04.
    • Si noti che il prefetcher del controller di memoria per Shanghai/Istanbul/MagnyCours opera in modo "coerente" (il che significa che le operazioni di verifica della coerenza della cache vengono emesse insieme ai prefetch della memoria), mentre il prefetcher del controller della memoria a Barcellona non emette operazioni di coerenza della cache (vengono non vengono rilasciati fino a quando la richiesta del core per la riga della cache non arriva al controller di memoria).

Quanto sopra è documentato nella BIOS and Kernel Developer's Guide for Family 10h processors:http://support.amd.com/us/Processor_TechDocs/31116.pdf


Linux
  1. Risoluzione dei problemi hardware in Linux

  2. Come disabilitare ETag in NGINX

  3. Grep:Memoria esaurita?

  4. Vim Latex:disabilitare Quickfix?

  5. Come disabilitare SELinux su CentOS?

Che cos'è la NVM (memoria non volatile)?

Come disattivare/disattivare il suono del segnale acustico hardware nel terminale Debian 10

Come disattivare / disattivare l'audio del segnale acustico dell'hardware nel terminale di Ubuntu

FSTAB &MTAB

Come disabilitare permanentemente lo scambio in Linux

Disabilitare a livello di codice gli aggiornamenti automatici Apt?