On Thu, Apr 27, 2017 at 10:39:15AM +0800, 杨润垲 wrote:
>   If the packet can't match the flow table in the kernel module, it
>   will be delivered to ovs-vswitchd. Recv_upcalls() is a part of
>   ovs-vswitchd, the number of packets handled in recv_uopcalls()is
>   UPCALL_MAX_BATCH(default is 50), could you tell me the reason why
>   it's designed so? thank you!

>   When ovs-vswitchd finishes the process, it passes the packets back to the 
> datapath one by one or transfer them together?
>   Looking forward to your reply.Thank you!

If you run "git log -SMAX_BATCH" and go to the end, you can find commits
that describe the benefits, such as the following:

commit 9b16c4394b940573d733c47fa7213bbe99a456d9
Author: Ben Pfaff <b...@nicira.com>
Date:   Thu Nov 10 16:42:51 2011 -0800

    ofproto-dpif: Process multiple batches of upcalls in a single poll loop.
    
    This yields a 27% improvement in netperf CRR results in my tests
    versus the previous commit, which is a 52% improvement versus
    the baseline from just before the poll_fd_woke() optimization was
    removed.

commit 501f8d1fd75b316ee7fa7c039cb37110750bf5a1
Author: Ben Pfaff <b...@nicira.com>
Date:   Fri Oct 14 13:55:32 2011 -0700

    ofproto-dpif: Batch interacting with the dpif on flow miss operations.
    
    This improves "ovs-benchmark rate" performance in my testing by about 24%.
    
    A quick experiment shows that there may still be some headroom for batching
    flow deletions on facet expiration, up to perhaps 10% additional
    improvement.
_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to