A “rede de cópia zero” é implementada por padrão no Linux?

6

Eu vi este artigo:

link

Zero-copy networking will be in 2.4.4. This patch, by David Miller, Alexey Kuznetsov, and others, has been in development and testing for some time, and was incorporated into the "ac" kernel series back in 2.4.2ac4. In a way, it is a surprising change to see in a stable kernel series, since it makes fundamental changes deep in the networking code. From all reports, however, it is solid, and, in certain situations, it should produce significant performance benefits.

Alguém pode me dizer se a rede de cópia zero existe por padrão no Linux, ou se esse patch era apenas para permitir que pessoas que desejam fazer redes com cópia zero possam implementá-lo?

Em outras palavras, no Ubuntu atual ele executa rede de cópia zero o tempo todo ou eu teria que usar certas chamadas do sistema para utilizar o patch acima?

    
por mezamorphic 20.08.2013 / 15:23

1 resposta

2

No repositório do git do kernel do Linux:

git log --oneline -- drivers/net | head -n5000 | egrep -i 'zero[[:space:]]*copy'

nos diz:

  • 7d9e6dd macvtap: não zerocopy se o iov precisar de mais páginas que MAX_SKB_FRAGS
  • 05464d2 tuntap: não faz zerocopy se o iov precisar de mais páginas que MAX_SKB_FRAGS
  • bd31fdd macvtap: linearize corretamente o skb quando o zerocopy é usado
  • d09ec76 tuntap: linearize corretamente o skb quando o zerocopy é usado
  • 19a6afb tuntap: definir sinalizador SOCK_ZEROCOPY durante a abertura
  • 149d36f tun: relata erros frags órfãos para retorno de chamada de cópia zero

que (eu acredito) responde à sua pergunta de forma clara e positiva. ;)

    
por 20.08.2013 / 19:57