Interrupt Affinity: quando pinagem de IRQ ajuda de verdade

Interrupt affinity é a arte de dizer: “esse device acorda estes cores, não o core onde o jogo está brigando pelo frame”. Em CPUs muitos-núcleos, isso reduz contenção. Em mãos ansiosas, piora tudo.

Quando faz sentido

  • LatencyMon mostra IRQ/DPC concentrados e você tem cores sobrando
  • NIC de baixa latência competindo com o thread principal do jogo
  • Captura/USB pesado no mesmo núcleo “quente”

Quando NÃO mexer

  • CPU 6c/8c já saturada no jogo
  • Você não tem baseline
  • Está no meio de undervolt + ReBAR + registry pack no mesmo dia

Alvos típicos (um por vez)

1. Adaptador Ethernet 2. USB controller do mouse (especialmente 4K/8K) 3. Placa de captura 4. Em último caso, experimentos com GPU — com extremo cuidado

Protocolo

1. Anote affinity/máscara atual. 2. Pin para cores fora do “main” do jogo (ex.: cores altos em CCD0, ou CCD1 conforme topologia — conheça seu CPU). 3. Reboot se a ferramenta exigir. 4. LatencyMon + CapFrameX. 5. Se 1% low cair: rollback.

Erro clássico

Pinagem no mesmo core do thread crítico do jogo. Parabéns: você criou contenção sob medida.

Relação com MSI Mode

Affinity e MSI são vizinhos, não gêmeos. MSI muda como a interrupção chega; affinity muda onde ela é atendida. Ordene: higiene DPC → MSI se necessário → affinity se ainda houver evidência.

Topologia rápida (ideia)

Em Ryzen com dois CCDs, jogar “tudo no CCD0” e jogar IRQs barulhentas no CCD1 (ou cores altos) é um padrão comum de experimento — desde que você entenda o seu modelo. Em Intel com P/E-cores, pinagem errada em E-core pode ser pior que não pinagem.

Ferramentas

Use utilitário confiável e documentado. Salve máscara original. Se a ferramenta não mostra o estado atual com clareza, não use.

Rollback mental

Affinity é fácil de esquecer. Quando o PC “estranho depois de format”, confira se um perfil velho voltou.

---

Próximo passo com a GuttyTECH

Checklist genérico de fórum não conhece o seu chipset, o seu ISP nem o seu DPC. Se você quer o protocolo medido na sua máquina — baseline CapFrameX, LatencyMon e stack limpa — agende uma sessão.

/// INICIANDO