This patchset consists of two patches. Patch 1 adds support for flow
sorted rx skb lists for IPv4. This means that it sorts the skb list so
that packets from the same flow can to travel together through the stack.

The second patch of this pachset is just a hack that disables GRO and does
skb list receive instead. I don't have a NIC whose driver supports to build
skb lists to be received by netif_receive_skb_list(), so I used this hack
to test patch 1.

This is early stage work, so it might be not complete and still buggy.
I send this now because I want to hear some comments on the approach
itself before I spend more time to work on this.

Forwarding performance measurements:

I used used my IPsec forwarding test setup for this:

           ------------         ------------
        -->| router 1 |-------->| router 2 |--
        |  ------------         ------------  |
        |                                     |
        |       --------------------          |
        --------|Spirent Testcenter|<----------
                --------------------

net-next (September 6th):

Single stream UDP frame size 1460 Bytes: 1.258.446 fps.

Single stream UDP frame size 64 Bytes: 1.250.000 fps.

----------------------------------------------------------------------

net-next (September 6th) + patch 2 (list receive):

Single stream UDP frame size 1460 Bytes: 1.469.595 fps (+16%).

Single stream UDP frame size 64 Bytes: 1.502.976 fps  (+20%).

----------------------------------------------------------------------

net-next (September 6th) + patch 1 + patch 2 (flow sorted list receive):

Single stream UDP frame size 1460 Bytes: 2.525.338 fps (+100%).

Single stream UDP frame size 64 Bytes: 2.541.881 fps (+103%).

-----------------------------------------------------------------------

Reply via email to