<html dir="ltr"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="text-align: left; direction: ltr; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div>What you're seeing is caused by how we're using the `sendfile(2)` system call. Like all other file operations it's impossible to make it non-blocking on Linux, and since it's used from the output callback in the inet driver it will block the scheduler until completion (while the port lock is held, hence its visibility with `lcnt`). Fixing this is non-trivial so we might force it to use the read/send fallback in a patch.</div><div><br></div><div>/John</div><div><br></div><div>On Sat, 2020-01-04 at 11:39 +0100, Frank Muller wrote:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div><div dir="auto">Gonna update my design, test and report back </div></div><div dir="auto"><br></div><div dir="auto">/Frank</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Sat. 4 janv. 2020 at 09:30, Max Lapshin <<a href="mailto:max.lapshin@gmail.com">max.lapshin@gmail.com</a>> wrote :<br></div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div dir="ltr">Yes.<div>And we repack from mp4 to mpegts on fly.  We cannot do sendfile due to this requirement and it happened that we do not need to do it.</div><div><br></div><div>So 10 gbps is an absolutely normal load for E5.</div><div><br></div><div>But of course you need to be not green =)  Disable all powersave.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 4, 2020 at 10:59 AM Frank Muller <<a href="mailto:frank.muller.erl@gmail.com" target="_blank">frank.muller.erl@gmail.com</a>> wrote:<br></div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div><div dir="auto">Hi Max</div></div><div dir="auto"><br></div><div dir="auto">Those numbers are amazing. Can you please elaborate more?</div><div dir="auto"><br></div><div dir="auto">So, you read data from disk with file:pread/3 and send it out using gen_tcp:send/2. Am I right?</div><div dir="auto"><br></div><div dir="auto">/Frank </div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Sat. 4 janv. 2020 at 08:32, Max Lapshin <<a href="mailto:max.lapshin@gmail.com" target="_blank">max.lapshin@gmail.com</a>> wrote :<br></div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div dir="ltr">I advise to try to refuse from sendfile and use pread/write<div><br></div><div>Our Flussonic can serve 10-20 gigabits per second. We have removed all  "optimisations"  like mmap and so on and left with</div><div>old plain read/write.</div></div>
</blockquote></div></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></body></html>