On Mon, Jun 24, 2019 at 10:39 PM Han Zhou <[email protected]> wrote: > > > On Mon, Jun 24, 2019 at 3:59 AM <[email protected]> wrote: > > > > From: Numan Siddique <[email protected]> > > > > engine_node 'en_sb_port_binding' is added as input to engine nodes > > - 'en_runtime_data' with the handler > runtime_data_sb_port_binding_handler() and > > - 'en_flow_output' with the handler > flow_output_sb_port_binding_handler() nodes. > > > > Also 'en_runtime_data' is input to node 'en_flow_output'. > > > > The function 'engine_run()' returns immediately if the run_id param is > same as > > the engine_node->run_id. Because of which the handler > 'flow_output_sb_port_binding_handler()' > > is never called. > > > > This patch removes this check in engine_run(). > > > > Signed-off-by: Numan Siddique <[email protected]> > > --- > > ovn/lib/inc-proc-eng.c | 3 --- > > 1 file changed, 3 deletions(-) > > > > diff --git a/ovn/lib/inc-proc-eng.c b/ovn/lib/inc-proc-eng.c > > index 1ddea1a85..10ebd047b 100644 > > --- a/ovn/lib/inc-proc-eng.c > > +++ b/ovn/lib/inc-proc-eng.c > > @@ -124,9 +124,6 @@ engine_ovsdb_node_add_index(struct engine_node > *node, const char *name, > > void > > engine_run(struct engine_node *node, uint64_t run_id) > > { > > - if (node->run_id == run_id) { > > - return; > > - } > > node->run_id = run_id; > > > > node->changed = false; > > -- > > 2.21.0 > > > > _______________________________________________ > > dev mailing list > > [email protected] > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > I think this change causes problems. engine_run() is called recursively > when traversing the DAG. The check for run_id is just to make sure each > node is visited once only. When a node is visited, it will process each of > its input, and none of the input change handlers will be missed (unless > there is some input triggers recompute of this node already and the rest of > inputs are omitted). You didn't see 'flow_output_sb_port_binding_handler()' > called maybe because in en_runtime_data it is already triggering recompute? > Please let me know if I missed anything. >
I had a doubt about this patch. Nonetheless submitted to get your inputs. Probably with the fix in patch 3, I should see flow_output_sb_port_binding_handler() being called right ? I will test it out again without this patch in the series and see if flow_output_sb_port_binding_handler() is getting called or not. Thanks Numan _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
