[ovs-dev] [PATCH] bridge: Complete initial configuration even with empty database.
Ansis Atteka
aatteka at nicira.com
Thu Apr 11 22:46:40 UTC 2013
Acked-by: Ansis Atteka <aatteka at nicira.com>
Thanks for fixing the other bug too.
On Thu, Apr 11, 2013 at 3:06 PM, Ben Pfaff <blp at nicira.com> wrote:
> I think that is an unrelated problem. I sent out a fix:
> http://openvswitch.org/pipermail/dev/2013-April/026581.html
>
> On Thu, Apr 11, 2013 at 02:46:28PM -0700, Ansis Atteka wrote:
> > If ovsdb-server is not running and I try to start single ovs-vswitchd
> > instance without any init scripts, then I am still seeing 100% CPU
> > utilization and multiple ovs-vswitchd instances in "ps" output. Still
> > trying to understand what is going on...
> >
> > aatteka at aatteka-MacBookPro:~/openvswitch$ ps -Af | grep ovs-vs
> > root 8187 26324 0 14:38 pts/3 00:00:00 sudo ovs-vswitchd
> > unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info
> > --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log
> > --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor
> > root 8188 8187 0 14:38 pts/3 00:00:00 ovs-vswitchd
> > unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info
> > --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log
> > --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor
> > root 8189 8188 0 14:38 ? 00:00:00 ovs-vswitchd
> > unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info
> > --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log
> > --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor
> > root 8190 8189 87 14:38 ? 00:01:43 ovs-vswitchd
> > unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info
> > --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log
> > --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor
> > root 8191 8190 0 14:38 ? 00:00:00 ovs-vswitchd: worker
> > process for pid
> > 8190
> >
> > aatteka 8219 26488 0 14:40 pts/4 00:00:00 grep --color=auto ovs-vs
> > aatteka at aatteka-MacBookPro:~/openvswitch$ top
> >
> > top - 14:41:50 up 4:47, 6 users, load average: 1.31, 1.18, 1.14
> > Tasks: 224 total, 2 running, 222 sleeping, 0 stopped, 0 zombie
> > %Cpu(s): 4.1 us, 2.1 sy, 0.0 ni, 93.1 id, 0.6 wa, 0.0 hi, 0.1 si,
> > 0.0 st
> > KiB Mem: 8087432 total, 4069712 used, 4017720 free, 277992 buffers
> > KiB Swap: 8298492 total, 0 used, 8298492 free, 1593760 cached
> >
> > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
> > COMMAND
> >
> > 8190 root 20 0 23288 6796 6180 R 104.1 0.1 3:03.01
> > ovs-vswitchd
> >
> > ...
> >
> >
> > On Thu, Apr 11, 2013 at 2:03 PM, Ben Pfaff <blp at nicira.com> wrote:
> >
> > > If the database was empty, that is, it did not even contain an
> Open_vSwitch
> > > top-level configuration record, at ovs-vswitchd startup time, then
> > > OVS failed to detach and used 100% CPU. This commit fixes the problem.
> > >
> > > This problem was introduced by commit 63ff04e82623e765 (bridge: Only
> > > complete daemonization after db commits initial config.).
> > >
> > > This problem did not manifest if the initscripts supplied with Open
> vSwitch
> > > were used, because those initscripts always initialize the database
> before
> > > starting ovs-vswitchd, so this problem affects only users with
> hand-rolled
> > > local OVS startup scripts.
> > >
> > > Bug #16090.
> > > Reported-by: Pravin Shelar <pshelar at nicira.com>
> > > Tested-by: Pravin Shelar <pshelar at nicira.com>
> > > Reported-by: Paul Ingram <paul at nicira.com>
> > > Reported-by: Amre Shakimov <ashakimov at vmware.com>
> > > Signed-off-by: Ben Pfaff <blp at nicira.com>
> > > ---
> > > AUTHORS | 1 +
> > > vswitchd/bridge.c | 34 +++++++++++++++++-----------------
> > > 2 files changed, 18 insertions(+), 17 deletions(-)
> > >
> > > diff --git a/AUTHORS b/AUTHORS
> > > index 07dce20..e3568bd 100644
> > > --- a/AUTHORS
> > > +++ b/AUTHORS
> > > @@ -103,6 +103,7 @@ Alex Yip alex at nicira.com
> > > Alexey I. Froloff raorn at altlinux.org
> > > Amar Padmanabhan amar at nicira.com
> > > Amey Bhide abhide at nicira.com
> > > +Amre Shakimov ashakimov at vmware.com
> > > André Ruß andre.russ at hybris.com
> > > Andreas Beckmann debian at abeckmann.de
> > > Atzm Watanabe atzm at stratosphere.co.jp
> > > diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
> > > index 1fcf547..09f98d5 100644
> > > --- a/vswitchd/bridge.c
> > > +++ b/vswitchd/bridge.c
> > > @@ -2269,25 +2269,25 @@ bridge_run(void)
> > > }
> > >
> > > if (reconfiguring) {
> > > - if (cfg) {
> > > - if (!reconf_txn) {
> > > - reconf_txn = ovsdb_idl_txn_create(idl);
> > > - }
> > > - if (bridge_reconfigure_continue(cfg)) {
> > > + if (!reconf_txn) {
> > > + reconf_txn = ovsdb_idl_txn_create(idl);
> > > + }
> > > +
> > > + if (bridge_reconfigure_continue(cfg ? cfg : &null_cfg)) {
> > > + reconfiguring = false;
> > > +
> > > + if (cfg) {
> > > ovsrec_open_vswitch_set_cur_cfg(cfg, cfg->next_cfg);
> > > - reconfiguring = false;
> > > -
> > > - /* If we are completing our initial configuration for
> > > this run
> > > - * of ovs-vswitchd, then keep the transaction around
> to
> > > monitor
> > > - * it for completion. */
> > > - if (!initial_config_done) {
> > > - initial_config_done = true;
> > > - daemonize_txn = reconf_txn;
> > > - reconf_txn = NULL;
> > > - }
> > > }
> > > - } else {
> > > - bridge_reconfigure_continue(&null_cfg);
> > > +
> > > + /* If we are completing our initial configuration for
> this run
> > > + * of ovs-vswitchd, then keep the transaction around to
> > > monitor
> > > + * it for completion. */
> > > + if (!initial_config_done) {
> > > + initial_config_done = true;
> > > + daemonize_txn = reconf_txn;
> > > + reconf_txn = NULL;
> > > + }
> > > }
> > > }
> > >
> > > --
> > > 1.7.2.5
> > >
> > > _______________________________________________
> > > dev mailing list
> > > dev at openvswitch.org
> > > http://openvswitch.org/mailman/listinfo/dev
> > >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20130411/c7eb24ae/attachment-0003.html>
More information about the dev
mailing list