[ovs-dev] [PATCH RFC] ovs-lib: try to call exit before killing

Guru Shetty guru at ovn.org
Tue Dec 15 15:14:50 UTC 2015


fatal_signal_add_hook() in lib/fatal-signal.c is usually called if you need
some function to be called after a signal is received.( I do not have any
opinion with the proposed patch itself)

On 15 December 2015 at 05:58, Ilya Maximets <i.maximets at samsung.com> wrote:

> Yes. Tested with last master
> 398e182 ("datapath-windows: remove ASSERT in OvsDoFlowLookupOutput()").
>
> Problem is that ovs-vswitchd killed by 'ovs-ctl stop' called by systemd.
> netdev_dpdk_vhost_destruct() never called.
>
> Best regards, Ilya Maximets.
>
> On 15.12.2015 16:52, Traynor, Kevin wrote:
> >
> >> -----Original Message-----
> >> From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Ilya
> Maximets
> >> Sent: Tuesday, December 15, 2015 1:38 PM
> >> To: dev at openvswitch.org; Ben Pfaff
> >> Cc: Ilya Maximets; Pavel Fedin; Dyasly Sergey
> >> Subject: [ovs-dev] [PATCH RFC] ovs-lib: try to call exit before killing
> >>
> >> While killing OVS may not free all allocated resources.
> >>
> >> Eample:
> >>      Socket for vhost-user port will stay in a system
> >>      after 'systemctl stop openvswitch' and opening
> >>      that port after restart will fail.
> >
> > Have you tested the issue with this commit?
> >
> > commit e04f7e4f2f574500334326dbda1bb808cf25c721
> > Author: Ciara Loftus <ciara.loftus at intel.com>
> > Date:   Wed Oct 21 14:50:36 2015 +0100
> >
> >     netdev-dpdk: Clean-up after vHost User port delete
> >
> >     Unregister and delete the socket associated with a vhost-user
> >     port when the port is deleted and/or the switch is brought down.
> >     Do not delete the socket if the vhost-user device is still attached
> >     to the guest.
> >
> >     Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>
> >     Acked-by: Daniele Di Proietto <diproiettod at vmware.com>
> >
> >>
> >> Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
> >> ---
> >>  utilities/ovs-lib.in | 5 ++++-
> >>  1 file changed, 4 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in
> >> index dd8a1e9..8b371dd 100644
> >> --- a/utilities/ovs-lib.in
> >> +++ b/utilities/ovs-lib.in
> >> @@ -202,11 +202,14 @@ start_daemon () {
> >>  stop_daemon () {
> >>      if test -e "$rundir/$1.pid"; then
> >>          if pid=`cat "$rundir/$1.pid"`; then
> >> -            for action in TERM .1 .25 .65 1 1 1 1 KILL 1 1 1 2 10 15 30
> >> FAIL; do
> >> +            for action in EXIT 2 TERM .1 .25 .65 1 1 1 1 KILL 1 1 1 2
> 10 15
> >> 30 FAIL; do
> >>                  if pid_exists "$pid" >/dev/null 2>&1; then :; else
> >>                      return 0
> >>                  fi
> >>                  case $action in
> >> +                    EXIT)
> >> +                        action "Exiting $1 ($pid)"
> ${bindir}/ovs-appctl -t
> >> $1 exit
> >> +                        ;;
> >>                      TERM)
> >>                          action "Killing $1 ($pid)" kill $pid
> >>                          ;;
> >> --
> >> 2.1.4
> >>
> >> _______________________________________________
> >> dev mailing list
> >> dev at openvswitch.org
> >> http://openvswitch.org/mailman/listinfo/dev
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>



More information about the dev mailing list