tech-kern archive

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

Re: RFC: softint-based if_input



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

Let me know if you want other data.

Thanks,
  ozaki-r


Home | Main Index | Thread Index | Old Index