21.3. Configuração de pesquisas de opinião pública ocupadas


Se a análise revelar alta latência, seu sistema pode se beneficiar do recebimento de pacotes baseado em pesquisas e não em interrupções.

A pesquisa ocupada ajuda a reduzir a latência no caminho de recepção da rede, permitindo que o código da camada do soquete faça a pesquisa da fila de recepção de um dispositivo de rede, e desativa as interrupções da rede. Isto elimina os atrasos causados pela interrupção e a mudança de contexto resultante. Entretanto, também aumenta a utilização da CPU. A pesquisa ocupada também impede a CPU de dormir, o que pode acarretar consumo adicional de energia. O comportamento de pesquisas ocupadas é suportado por todos os drivers do dispositivo.

21.3.1. Possibilitando pesquisas de opinião pública ocupadas

Por padrão, a votação ocupada está desativada. Este procedimento descreve como habilitar as pesquisas de opinião pública ocupadas.

Procedimento

  1. Certifique-se de que a opção de compilação CONFIG_NET_RX_BUSY_POLL esteja habilitada:

    # cat /boot/config-$(uname -r) | grep CONFIG_NET_RX_BUSY_POLL
    CONFIG_NET_RX_BUSY_POLL=y
    Copy to Clipboard Toggle word wrap
  2. Possibilitar pesquisas de opinião pública ocupadas

    1. Para permitir uma votação ocupada em tomadas específicas, defina o valor do kernel sysctl.net.core.busy_poll para um valor diferente de 0:

      # echo "net.core.busy_poll=50" > /etc/sysctl.d/95-enable-busy-polling-for-sockets.conf
      # sysctl -p /etc/sysctl.d/95-enable-busy-polling-for-sockets.conf
      Copy to Clipboard Toggle word wrap

      Este parâmetro controla o número de microssegundos para esperar por pacotes na sondagem do soquete e selecionar syscalls. A Red Hat recomenda um valor de 50.

    2. Adicione a opção de soquete SO_BUSY_POLL ao soquete.
    3. Para permitir pesquisas de opinião em todo o mundo, defina o sysctl.net.core.busy_read para um valor diferente de 0:

      # echo "net.core.busy_read=50" > /etc/sysctl.d/95-enable-busy-polling-globally.conf
      # sysctl -p /etc/sysctl.d/95-enable-busy-polling-globally.conf
      Copy to Clipboard Toggle word wrap

      O parâmetro net.core.busy_read controla o número de microssegundos para esperar por pacotes na fila do dispositivo para leituras de soquetes. Ele também define o valor padrão do SO_BUSY_POLL option. A Red Hat recomenda um valor de 50 para um pequeno número de soquetes, e um valor de 100 para um grande número de soquetes. Para números extremamente grandes de soquetes, por exemplo, mais de várias centenas, use ao invés disso a chamada ao sistema epoll.

Etapas de verificação

  • Verificar se a pesquisa está habilitada

    # ethtool -k device | grep "busy-poll"
    busy-poll: on [fixed]
    
    # cat /proc/sys/net/core/busy_read
    50
    Copy to Clipboard Toggle word wrap

Recursos adicionais

Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2026 Red Hat