[ovs-dev] [PATCH v5 3/4] ofproto: Generalize deferred work execution.

Jarno Rajahalme jrajahalme at nicira.com
Fri Jun 12 22:55:04 UTC 2015


> On Jun 12, 2015, at 3:37 PM, Ben Pfaff <blp at nicira.com> wrote:
> 
> 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 <jrajahalme at 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.

Ok, shelved for now :-)

  Jarno




More information about the dev mailing list