tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: RFC: softint-based if_input



On Wed, Jan 20, 2016 at 5:03 PM, Ryota Ozaki <ozaki-r%netbsd.org@localhost> wrote:
> On Fri, Jan 15, 2016 at 6:35 PM, Ryota Ozaki <ozaki-r%netbsd.org@localhost> wrote:
>> Hi Joerg,
>>
>> Thanks for your comment!
>>
>> On Fri, Jan 15, 2016 at 6:43 AM, Joerg Sonnenberger
>> <joerg%britannica.bec.de@localhost> 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

Note that the packet size in the tests of throughput was 46 bytes to
highlight performance difference. Throughputs of polling for 200
bytes and above are comparable to vanilla. I added the data to gist.

  ozaki-r


Home | Main Index | Thread Index | Old Index