On Tue, Apr 16, 2019 at 10:43 AM Ben Pfaff <b...@ovn.org> wrote:
>
> On Wed, Apr 03, 2019 at 05:49:12PM -0700, Han Zhou wrote:
> > From: Han Zhou <hzh...@ebay.com>
> >
> > In the main loop, if the SB DB is disconnected when there is a pending
> > transaction, there can be busy loop causing 100% CPU of ovn-controller,
> > until SB DB is connected again.
> >
> > The root cause is that when a transaction is pending,
ovsdb_idl_loop_run()
> > will return NULL for ovnsb_idl_txn, and chassis_run() returns NULL when
> > ovnsb_idl_txn is NULL, so the condition if (br_int && chassis) is not
> > satisfied and so ofctrl_run() is not executed in the main loop. If there
> > is any message pending from br-int.mgmt, such as OFPTYPE_BARRIER_REPLY
or
> > OFPTYPE_ECHO_REQUEST, the main loop will be woken up again and again
> > because those messages are not processed because ofctrl_run() is not
> > invoked.
> >
> > This patch fixes the problem by moving ofctrl_run() above and run it
> > whenever br_int is not NULL, and not care about chassis because this
> > function doesn't depend on it.
> >
> > It also moves out sbrec_chassis_set_nb_cfg() from the "if (ovs_idl_txn)"
> > just to avoid adding more indentation of the whole block to avoid >79
> > line length.
> >
> > Note: the changes of this patch is better to be shown with "-w" because
> > most of them are indent changes.
> >
> > Acked-by: Numan Siddique <nusid...@redhat.com>
> > Signed-off-by: Han Zhou <hzh...@ebay.com>
> > ---
> >
> > Notes:
> >     v2->v3: fix >79 line found by 0-day robot
>
> This has a patch reject against current master, so if it's still
> relevant would you mind rebasing and reposting?
>
Hi Ben, I just rebased and sent out v4.

Thanks,
Han
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to