Uma das mudanças no kernel Linux 6.10 em desenvolvimento é o suporte para as Posted Interrupts (interrupções postadas) em hardware bare metal. Thomas Gleixner, da Linutronix, explicou como essas interrupções funcionam e seus benefícios.
As Posted Interrupts permitem injetar interrupções diretamente em um convidado sem a interação do host. O hardware VT-d define um bit no bitmap de vetor para injetar a interrupção diretamente no convidado por meio de um APIC virtualizado. Se o convidado estiver agendado, uma interrupção de notificação informa que uma interrupção foi marcada como pendente no bitmap.
Este recurso é útil no Bare Metal, especialmente com dispositivos como armazenamento NVMe, que geram interrupções com alta frequência. No modo padrão, essas interrupções são manipuladas independentemente, exigindo uma viagem completa de ida e volta.
Com interrupções postadas, essa sobrecarga é evitada unindo as entradas de interrupção em uma única entrada de notificação. A interrupção de notificação demultiplexa os bits pendentes e invoca os manipuladores específicos do dispositivo. Melhorias de rendimento entre 10% e 130% foram medidas.
Essa funcionalidade é relevante para servidores de ponta com múltiplas filas de dispositivos por CPU conectadas e é ativada por meio de um parâmetro de linha de comando do kernel. Para utilizar esse recurso, é necessário construir o kernel Linux 6.10+ com a nova opção Kconfig "X86_POSTED_MSI". O parâmetro de linha de comando "posted_msi" também é necessário para ativar a funcionalidade.
Essa atualização promete melhorar significativamente o desempenho em servidores de ponta, proporcionando uma maneira mais eficiente de lidar com interrupções de alta frequência. Para mais detalhes, consulte o pull request no Linux Git.
Até a próxima !!
Nenhum comentário:
Postar um comentário