Thanks, I pushed this to master.
On Wed, Dec 28, 2011 at 11:42:55PM -0500, Ethan Jackson wrote: > Looks good. > > This conflicts with a series I just sent out. Once you merge, I'll > resend the relevant patch. > > Ethan > > On Tue, Dec 27, 2011 at 16:25, Ben Pfaff <[email protected]> wrote: > > There's no point in executing an empty set of actions. > > > > dpif_execute() has had this optimization internally for a long time but > > dpif_operate() doesn't. ?For dpif_operate() it seems like a bigger win to > > optimize it at this higher level, avoiding adding any operation to the > > array at all. > > > > Signed-off-by: Ben Pfaff <[email protected]> > > --- > > ?ofproto/ofproto-dpif.c | ? ?3 ++- > > ?1 files changed, 2 insertions(+), 1 deletions(-) > > > > diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c > > index 56c3baf..1bb9351 100644 > > --- a/ofproto/ofproto-dpif.c > > +++ b/ofproto/ofproto-dpif.c > > @@ -2573,7 +2573,8 @@ handle_flow_miss(struct ofproto_dpif *ofproto, struct > > flow_miss *miss, > > > > ? ? ? ? if (!execute_controller_action(ofproto, &facet->flow, > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?subfacet->actions, > > - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? subfacet->actions_len, packet, > > true)) { > > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? subfacet->actions_len, packet, true) > > + ? ? ? ? ? ?&& subfacet->actions_len > 0) { > > ? ? ? ? ? ? struct flow_miss_op *op = &ops[(*n_ops)++]; > > ? ? ? ? ? ? struct dpif_execute *execute = &op->dpif_op.execute; > > > > -- > > 1.7.2.5 > > > > _______________________________________________ > > dev mailing list > > [email protected] > > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
