[erlang-questions] UDP receive performance

Jonas Falkevik jonas.falkevik@REDACTED
Wed Jun 13 23:08:07 CEST 2018


Hi,
I think I was able to reproduce this problem.
And to me it looks like a bug.
On my system the packet_inet_input is called but the recv call returns eagain.
This isn’t freeing the buffer so the realloc (intended for fragments?) are trigged.
Reallocating the same size buffer again.

The below branch with the below change reduced the reallocs on my linux system.
https://github.com/falkevik/otp/tree/udp_performance_bug <https://github.com/falkevik/otp/tree/udp_performance_bug>

https://github.com/falkevik/otp/commit/ca08458a0663792390d5e89f83b883e19a33054c <https://github.com/falkevik/otp/commit/ca08458a0663792390d5e89f83b883e19a33054c>

Jonas

> On 31 May 2018, at 21:05, Max Lapshin <max.lapshin@REDACTED> wrote:
> 
> It is video, we need to receive packets strictly in order.
> 
> Yes, I know that UDP can reorder and lose packets, but in normal conditions with hardware headend and plain C linux software on receiver it is possible to achieve almost 100% of deliverability of packets without reordering. 
> 
> 
> We want to achieve something like this with erlang.
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20180613/06067fc1/attachment.htm>


More information about the erlang-questions mailing list