I've updated the snapshot of the threaded userspace datapath path with improvements Giuseppe and I have done over the last couple of weeks. The current patch is available here:
http://people.freebsd.org/~emaste/openvswitch/threaded-20120820.diff This patch contains a number of minor improvements and cleanup in here, relative to the last patch. The major issues from last time: > 1. Buffer ownership and management isn't really correct right now, > apparently done due to a desire to avoid extra copies. This seems to be a > consequence of the standard BPF / libpcap interface. This item is now addressed in the patch. > 2. The patch needs a better method of ensuring flows aren't deleted while > there may be a reference in the datapath thread. Right now this is done by holding the flow table mutex over all of dp_netdev_port_input, which will prevent future scalability gains. I'm considering either adding a reference count increment _port_input, or implementing a deferred deletion scheme (for example, doing the flow deletion in the separate datapath thread). > 3. The datapath thread waits in poll() with each port's file descriptor in > the fd array. However there's currently no fd to signal a bridge > reconfiguration, so the poll() has to timeout before the thread will pick up > the new config on the next time through its loop. This still needs to be addressed. -Ed _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev