• T
    openvswitch: Enable memory mapped Netlink i/o · 795449d8
    Thomas Graf 提交于
    Use memory mapped Netlink i/o for all unicast openvswitch
    communication if a ring has been set up.
    
    Benchmark
      * pktgen -> ovs internal port
      * 5M pkts, 5M flows
      * 4 threads, 8 cores
    
    Before:
    Result: OK: 67418743(c67108212+d310530) usec, 5000000 (9000byte,0frags)
      74163pps 5339Mb/sec (5339736000bps) errors: 0
    	+   2.98%     ovs-vswitchd  [k] copy_user_generic_string
    	+   2.49%     ovs-vswitchd  [k] memcpy
    	+   1.84%       kpktgend_2  [k] memcpy
    	+   1.81%       kpktgend_1  [k] memcpy
    	+   1.81%       kpktgend_3  [k] memcpy
    	+   1.78%       kpktgend_0  [k] memcpy
    
    After:
    Result: OK: 24229690(c24127165+d102524) usec, 5000000 (9000byte,0frags)
      206358pps 14857Mb/sec (14857776000bps) errors: 0
    	+   2.80%     ovs-vswitchd  [k] memcpy
    	+   1.31%       kpktgend_2  [k] memcpy
    	+   1.23%       kpktgend_0  [k] memcpy
    	+   1.09%       kpktgend_1  [k] memcpy
    	+   1.04%       kpktgend_3  [k] memcpy
    	+   0.96%     ovs-vswitchd  [k] copy_user_generic_string
    Signed-off-by: NThomas Graf <tgraf@suug.ch>
    Reviewed-by: NDaniel Borkmann <dborkman@redhat.com>
    Signed-off-by: NJesse Gross <jesse@nicira.com>
    795449d8
datapath.c 45.4 KB