PCID/INVPCID: fundamentais agora em hardware Intel

Para não comprometer demais o desempenho de programas que dependam muito de chamadas de sistema, os patches que mitigam a falha Meltdown têm requerimentos importantes, para os quais ninguém dava bola antes: PCID (Process-Context IDentifier) e a instrução INVPCID (INValidate Process-Context IDentifier).

PCID está presente desde os Intel Sandy Bridge, a segunda geração dos i3/i5/i7. INVPCID está presente desde os Haswell, a quarta geração.

Windows requer INVPCID para não precisar recorrer a flushes de TLB a cada interrupção ou troca de contexto. Linux requer pelo menos PCID.

No Linux, procure por pcid e invpcid na linha flags de /proc/cpuinfo (ou na saída de lscpu). No Windows, use o Coreinfo (asterisco ao lado de PCID e INVPCID).

Nota 1: PCIDs são suportados apenas em x86-64.
Nota 2: Processadores AMD não são afetados.

Comentários