[dpdk-dev] [PATCH] Unlink existing unused sockets at start up

Wang, Zhihong zhihong.wang at intel.com
Fri Dec 18 03:39:51 CET 2015


> On 17.12.2015 07:21, Zhihong Wang wrote:
> > This patch unlinks existing unused sockets (which cause new bindings to fail, e.g.
> vHost PMD) to ensure smooth startup.
> > In a lot of cases DPDK applications are terminated abnormally without proper
> resource release.
> 
> Original OVS related problem discussed previously here
> ( http://dpdk.org/ml/archives/dev/2015-December/030326.html ) fixed in OVS
> by
> 
> commit 9b5422a98f817b9f2a1f8224cab7e1a8d0bbba1f
> Author: Ilya Maximets <i.maximets at samsung.com>
> Date:   Wed Dec 16 15:32:21 2015 +0300
> 
>     ovs-lib: Try to call exit before killing.
> 
>     While killing OVS may not free all allocated resources.
> 
>     Example:
>         Socket for vhost-user port will stay in a system
>         after 'systemctl stop openvswitch' and opening
>         that port after restart will fail.
> 
> 
> So, the crash of application is the last point of discussion.
> 
> > Therefore, DPDK libs should be able to deal with unclean boot environment.
> 
> Why are you think that recovery after crash of application is a problem of
> underneath library?

Thanks for the information!

Yes ideally the underneath lib shouldn't meddle with the recovery logic.
But I do think we should at least put a warning in the lib function said the app should make the path available. This is another topic though :-)
Like we did in memcpy:
/**
 * Copy 16 bytes from one location to another,
 * locations should not overlap.
 */


> 
> Best regards, Ilya Maximets.
> 



More information about the dev mailing list