On Fri, Jun 12, 2015 at 02:36:23PM -0700, Jarno Rajahalme wrote: > Previous patch adds more work being executed from the ovs-rcu thread. > Executing big chunks of work from ovs-rcu thread should be avoided, > however, as the rcu callback facility is shared resource used by all > threads. > > This patch generalizes the exising "rule_executes" list to be useful > for also other kinds of work items. First new use is for sending flow > removed messages from the main thread instead of the ovs-rcu thread. > > Even more work could be executed outside of the ovs-rcu thread if the > size of the 'deferred_work' list was made unlimited. > > Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com>
I'd like to sit on this. I am not sure whether it is OK to drop flow_removed messages. The implications of queuing an unlimited number of them are also bad. We're doing that already, but there's some back-pressure currently (I think) from the way that we refuse to process any more OpenFlow requests if there are messages in the OpenFlow send queue, and I think that this new deferred work queue would bypass that. I'm also not sure to what extent anyone in the real world uses flow_removed messages, so I don't know whether processing them in RCU callbacks really matters. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev