lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 5 Sep 2008 15:29:25 +0200
From:	"Johann Baudy" <>
To:	"Evgeniy Polyakov" <>
Subject: Re: Fwd: Packet mmap: TX RING and zero copy

Hi Evegniy

> Yes, and we found, that vmsplice() is slow, so unacceptible.
> What about single big enough file being sent via sendfile()?
> Can it saturate the link in your setup?

I'm trying to. But so far not able to saturate the link.

> It looks like you are sending data in chunks, which you should not do.
> Why do you splice input file into 60k chunks for UDP?
> sendfile() should iterate over whole file in page chunks, pack them
> into splice buffer (16 pages), send them, then get next set of pages
> and so on... udp_sendpage() will properly allocate skbs for the given
> MTU, or append data to the end of the skb if there is a place.
> You should _not_ manually interrupt this process and call sendfile()
> multiple times with different offsets and small sizes.

So, it seems that there is something wrong in UDP here, because TCP
works properly with same code.
If size argument of sendfile() exceed 61440, sendfile() returns 61440
and send no data to the device ...
I will try to investigate it but for my app sendfile() is not
conceivable. Only vmsplice could, but too slow.


Johann Baudy
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to
More majordomo info at

Powered by blists - more mailing lists