ofproto-dpif: move per-backer wait calls from wait to type_wait
authorYAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
Thu, 15 Aug 2013 11:25:44 +0000 (20:25 +0900)
committerBen Pfaff <blp@nicira.com>
Thu, 15 Aug 2013 21:13:22 +0000 (14:13 -0700)
move per-backer wait calls (dpif_wait/udpif_wait) from ofproto_wait
to ofproto_type_wait.

This eliminates excessive poll slot consumption when there is more
than one bridge.

Signed-off-by: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
Signed-off-by: Ben Pfaff <blp@nicira.com>
ofproto/ofproto-dpif.c

index 229b16c..3bc0e98 100644 (file)
@@ -1051,6 +1051,8 @@ type_wait(const char *type)
     }
 
     timer_wait(&backer->next_expiration);
+    dpif_wait(backer->dpif);
+    udpif_wait(backer->udpif);
 }
 \f
 /* Basic life-cycle. */
@@ -1625,8 +1627,6 @@ wait(struct ofproto *ofproto_)
         return;
     }
 
-    dpif_wait(ofproto->backer->dpif);
-    udpif_wait(ofproto->backer->udpif);
     if (ofproto->sflow) {
         dpif_sflow_wait(ofproto->sflow);
     }