git: polling: Implement direct input support.

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Sun Sep 24 05:34:43 PDT 2017


commit 8d0afa8630caf41afad4c41a047d41f2b8f31d47
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Sat Sep 23 11:19:26 2017 +0800

    polling: Implement direct input support.
    
    When "direct input" is enabled by driver, driver's RX polling handler
    will run ethernet/ip/tcp processing directly, which avoids cache-miss
    on mbufs themselves.  Currently it is enabled on ix(4) by default.
    
    The normal IP forwarding performance is improved by %12, while the fast
    IP forwarding performance is improved by 10%.  13.2Mpps is achieved for
    dual side IP forwarding!
    
    1 request/connection HTTP/1.1 performance and avg-latency stay same,
    but the latency is further stablized:
    1K  5.20ms  -> 4.60ms
    8K  6.43ms  -> 5.76ms
    16K 16.30ms -> 14.90ms

Summary of changes:
 sbin/ifconfig/ifconfig.c |  2 +-
 share/man/man4/ix.4      | 16 +++++++-
 sys/dev/netif/ix/if_ix.c | 98 ++++++++++++++++++++++++++++++++++++++++++++----
 sys/dev/netif/ix/if_ix.h |  2 +
 sys/net/if.h             |  3 +-
 sys/net/if_ethersubr.c   | 21 +++++++----
 sys/net/if_poll.c        | 43 ++++++++++++++++-----
 7 files changed, 157 insertions(+), 28 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8d0afa8630caf41afad4c41a047d41f2b8f31d47


-- 
DragonFly BSD source repository


More information about the Commits mailing list