On Fri, Jan 15, 2016 at 6:35 PM, Ryota Ozaki <ozak...@netbsd.org> wrote: > Hi Joerg, > > Thanks for your comment! > > On Fri, Jan 15, 2016 at 6:43 AM, Joerg Sonnenberger > <jo...@britannica.bec.de> wrote: >> On Thu, Jan 14, 2016 at 07:19:03PM +0900, Ryota Ozaki wrote: >>> One possible objection should be performance >>> degradation, however I believe we can mitigate >>> by introducing polling packet processing >>> like Linux and FreeBSD do. Of course, we also >>> have to rethink existing sofint (L3 softints >>> and bridge_forward softint). >> >> While I agree with the goal and also that fast-forward shouldn't stop >> this, I would like to see some numbers for the performance impact under >> load and maybe the latency change without load. Any chance to test for >> that? > > I'm preparing performance numbers. They'll come early > in the next week.
I measured several cases of softint-based if_input implementation and other implementations including vanilla and polling-based packet processing (POC). Here are the results of the measurements (TL;TR): https://gist.github.com/ozaki-r/975b06216a54a084debc Let me summarize some key points of the results: - Latency - No visible differences between vanilla and softint-based if_input - May need more detailed investigation - Throughput (normal forward) - Vanilla and softint-based if_input are weak against overload - Polling packet processing can achieve stable performance under load - Throughput (fast forward) - softint-based if_input's performance is very poor compared to vanilla - Polling packet processing achieves 90% performance of vanilla Let me know if you want other data. Thanks, ozaki-r