Red Hat Training
A Red Hat training course is available for RHEL 8
20.5.2. Colocando a máscara smp_affinity
O valor smp_affinity
é armazenado como uma máscara de bit hexadecimal representando todos os processadores do sistema. Cada bit configura uma CPU diferente. O bit menos significativo é a CPU 0. O valor padrão da máscara é f
, o que significa que uma solicitação de interrupção pode ser tratada em qualquer processador do sistema. Ajustar este valor para 1 significa que apenas o processador 0 pode lidar com a interrupção.
Procedimento
Em binário, use o valor 1 para CPUs que lidam com as interrupções. Por exemplo, para definir CPU 0 e CPU 7 para lidar com as interrupções, use
0000000010000001
como o código binário:Tabela 20.3. Bits binários para CPUs
CPU 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binário
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
Converter o código binário em hexadecimal:
Por exemplo, para converter o código binário usando Python:
>>> hex(int('0000000010000001', 2)) '0x81'
Em sistemas com mais de 32 processadores, você deve delimitar os valores
smp_affinity
para grupos discretos de 32 bits. Por exemplo, se você quiser apenas os primeiros 32 processadores de um sistema com 64 processadores para atender a uma solicitação de interrupção, use0xffffffff,00000000
.O valor da afinidade de interrupção para uma determinada solicitação de interrupção é armazenado no arquivo
/proc/irq/irq_number/smp_affinity
associado. Coloque a máscarasmp_affinity
neste arquivo:# máscara echo > /proc/irq/irq_number/smp_affinity