[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