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

Reply via email to