From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH v2] app/testpmd: fix pmd_test_exit function for vdevs Date: Fri, 18 May 2018 17:29:10 +0100 Message-ID: References: <20180518095937.28710-1-zhiyong.yang@intel.com> <2DBBFF226F7CF64BAFCA79B681719D953A44B1E4@SHSMSX101.ccr.corp.intel.com> <8CEF83825BEC744B83065625E567D7C24E0CDF86@IRSMSX108.ger.corp.intel.com> <5a7b433f-e145-7fb2-f673-ca2861da8ee6@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: "maxime.coquelin@redhat.com" , "Bie, Tiwei" , "stable@dpdk.org" , Thomas Monjalon , Harry Van Haaren To: Matan Azrad , "Iremonger, Bernard" , "Yao, Lei A" , "Yang, Zhiyong" , "dev@dpdk.org" Return-path: In-Reply-To: Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 5/18/2018 4:55 PM, Matan Azrad wrote: > Hi all > > While this patch also applied I don't understand it. > Is it mandatory for each PMD to free all its resources in dev_close()? > Or it should be done by the rte_device remove function? > > If the resource cleanup should be done by the remove function I think it > should be called for all the devices (pci, vdev, etc). > > Is there an exit function for EAL to clean rte_eal_init()? If no, looks like we need it... Hi Matan, I believe there is a gap in resource cleanup. dev_close() it not for resource cleanup, it should be in PMD remove() functions, and PMDs have it. The problem is remove path is not called in application exit. As far as I know there is no simple API to clean the resources, having it may help application to do the cleanup. I have seen the rte_eal_cleanup() API by Harry, that can be extended to cover PMD resource cleanup if there is enough motivation for it. > > From: Ferruh Yigit >> >> On 5/18/2018 11:18 AM, Iremonger, Bernard wrote: >>> Hi Ferruh, Zhiyong, >>> >>> >>> >>>>> Subject: [PATCH v2] app/testpmd: fix pmd_test_exit function for >>>>> vdevs >>>>> >>>>> For vdev, just calling rte_eth_dev_close() isn't enough to free all >>>>> the resources allocated during device probe, e.g. for virtio-user, >>>>> virtio_user_pmd_remove(), i.e. the remove() method of a vdev driver, >>>>> needs to be called to unlink the socket file created during device >>>>> probe. So this patch calls the rte_eth_dev_detach() for vdev when >>>>> quitting testpmd. >>>>> >>>>> Cc: maxime.coquelin@redhat.com >>>>> Cc: ferruh.yigit@intel.com >>>>> Cc: tiwei.bie@intel.com >>>>> Cc: lei.a.yao@intel.com >>>>> Cc: bernard.iremonger@intel.com >>>>> Cc: stable@dpdk.org >>>>> >>>>> Fixes: af75078fece3 ("first public release") >>>>> Fixes: bd8f50a45d0f ("net/virtio-user: support server mode") >>>>> >>>>> Signed-off-by: Zhiyong Yang >>>> Tested-by: Lei Yao This patch pass the test for >>>> virtio-user server mode. The socket file can be deleted after quit >>>> testpmd. >>> >>> Acked-by: Bernard Iremonger >> >> Applied to dpdk-next-net/master, thanks. >> >> >>> Check-git-log is showing some errors: >>> >>> ./devtools/check-git-log.sh -1 >>> Wrong headline format: >>> app/testpmd: fix pmd_test_exit function for vdevs Wrong tag: >>> Tested-by: Lei Yao >> >> fixed while applying.