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@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@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 <b...@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 <pshe...@nicira.com> > Tested-by: Pravin Shelar <pshe...@nicira.com> > Reported-by: Paul Ingram <p...@nicira.com> > Reported-by: Amre Shakimov <ashaki...@vmware.com> > Signed-off-by: Ben Pfaff <b...@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 a...@nicira.com > Alexey I. Froloff ra...@altlinux.org > Amar Padmanabhan a...@nicira.com > Amey Bhide abh...@nicira.com > +Amre Shakimov ashaki...@vmware.com > André Ruß andre.r...@hybris.com > Andreas Beckmann deb...@abeckmann.de > Atzm Watanabe a...@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@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev >
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev