* [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak @ 2020-04-27 10:44 wangyunjian 2020-04-27 11:12 ` Gaëtan Rivet 0 siblings, 1 reply; 9+ messages in thread From: wangyunjian @ 2020-04-27 10:44 UTC (permalink / raw) To: dev, grive; +Cc: jerry.lilijun, xudingke, Yunjian Wang, stable From: Yunjian Wang <wangyunjian@huawei.com> Zero is a valid fd. The fd won't be closed thus leading fd leak, when it is zero. Fixes: f234e5bd996d ("net/failsafe: register slaves Rx interrupts") Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt mode") Cc: stable@dpdk.org Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> --- drivers/net/failsafe/failsafe_intr.c | 2 +- drivers/net/failsafe/failsafe_ops.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/failsafe/failsafe_intr.c b/drivers/net/failsafe/failsafe_intr.c index d8728fe7e..602c04033 100644 --- a/drivers/net/failsafe/failsafe_intr.c +++ b/drivers/net/failsafe/failsafe_intr.c @@ -393,7 +393,7 @@ fs_rx_event_proxy_uninstall(struct fs_priv *priv) free(priv->rxp.evec); priv->rxp.evec = NULL; } - if (priv->rxp.efd > 0) { + if (priv->rxp.efd >= 0) { close(priv->rxp.efd); priv->rxp.efd = -1; } diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c index 50f2aca4e..e1d08e46c 100644 --- a/drivers/net/failsafe/failsafe_ops.c +++ b/drivers/net/failsafe/failsafe_ops.c @@ -380,7 +380,7 @@ fs_rx_queue_release(void *queue) rxq = queue; dev = &rte_eth_devices[rxq->priv->data->port_id]; fs_lock(dev, 0); - if (rxq->event_fd > 0) + if (rxq->event_fd >= 0) close(rxq->event_fd); FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { if (ETH(sdev)->data->rx_queues != NULL && -- 2.19.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak 2020-04-27 10:44 [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak wangyunjian @ 2020-04-27 11:12 ` Gaëtan Rivet 2020-04-27 16:55 ` Ferruh Yigit 0 siblings, 1 reply; 9+ messages in thread From: Gaëtan Rivet @ 2020-04-27 11:12 UTC (permalink / raw) To: wangyunjian; +Cc: dev, jerry.lilijun, xudingke, stable On 27/04/20 18:44 +0800, wangyunjian wrote: > From: Yunjian Wang <wangyunjian@huawei.com> > > Zero is a valid fd. The fd won't be closed thus leading fd leak, > when it is zero. > > Fixes: f234e5bd996d ("net/failsafe: register slaves Rx interrupts") > Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt mode") > Cc: stable@dpdk.org > Hello Yunjian, Nothing prevents a DPDK app from closing 0 and getting it from another call, good catch. > Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Acked-by: Gaetan Rivet <grive@u256.net> > --- > drivers/net/failsafe/failsafe_intr.c | 2 +- > drivers/net/failsafe/failsafe_ops.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/failsafe/failsafe_intr.c b/drivers/net/failsafe/failsafe_intr.c > index d8728fe7e..602c04033 100644 > --- a/drivers/net/failsafe/failsafe_intr.c > +++ b/drivers/net/failsafe/failsafe_intr.c > @@ -393,7 +393,7 @@ fs_rx_event_proxy_uninstall(struct fs_priv *priv) > free(priv->rxp.evec); > priv->rxp.evec = NULL; > } > - if (priv->rxp.efd > 0) { > + if (priv->rxp.efd >= 0) { > close(priv->rxp.efd); > priv->rxp.efd = -1; > } > diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c > index 50f2aca4e..e1d08e46c 100644 > --- a/drivers/net/failsafe/failsafe_ops.c > +++ b/drivers/net/failsafe/failsafe_ops.c > @@ -380,7 +380,7 @@ fs_rx_queue_release(void *queue) > rxq = queue; > dev = &rte_eth_devices[rxq->priv->data->port_id]; > fs_lock(dev, 0); > - if (rxq->event_fd > 0) > + if (rxq->event_fd >= 0) > close(rxq->event_fd); > FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { > if (ETH(sdev)->data->rx_queues != NULL && > -- > 2.19.1 > > -- Gaëtan ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak 2020-04-27 11:12 ` Gaëtan Rivet @ 2020-04-27 16:55 ` Ferruh Yigit 2020-05-03 11:33 ` Ali Alnubani 0 siblings, 1 reply; 9+ messages in thread From: Ferruh Yigit @ 2020-04-27 16:55 UTC (permalink / raw) To: Gaëtan Rivet, wangyunjian; +Cc: dev, jerry.lilijun, xudingke, stable On 4/27/2020 12:12 PM, Gaëtan Rivet wrote: > On 27/04/20 18:44 +0800, wangyunjian wrote: >> From: Yunjian Wang <wangyunjian@huawei.com> >> >> Zero is a valid fd. The fd won't be closed thus leading fd leak, >> when it is zero. >> >> Fixes: f234e5bd996d ("net/failsafe: register slaves Rx interrupts") >> Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt mode") >> Cc: stable@dpdk.org >> > > Hello Yunjian, > > Nothing prevents a DPDK app from closing 0 and getting it from > another call, good catch. > >> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > > Acked-by: Gaetan Rivet <grive@u256.net> Applied to dpdk-next-net/master, thanks. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak 2020-04-27 16:55 ` Ferruh Yigit @ 2020-05-03 11:33 ` Ali Alnubani 2020-05-04 16:22 ` Gaëtan Rivet 0 siblings, 1 reply; 9+ messages in thread From: Ali Alnubani @ 2020-05-03 11:33 UTC (permalink / raw) To: Ferruh Yigit, Gaëtan Rivet, wangyunjian Cc: dev, jerry.lilijun, xudingke, stable, Raslan Darawsheh Hi, > -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Ferruh Yigit > Sent: Monday, April 27, 2020 7:56 PM > To: Gaëtan Rivet <grive@u256.net>; wangyunjian > <wangyunjian@huawei.com> > Cc: dev@dpdk.org; jerry.lilijun@huawei.com; xudingke@huawei.com; > stable@dpdk.org > Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] net/failsafe: fix fd leak > > On 4/27/2020 12:12 PM, Gaëtan Rivet wrote: > > On 27/04/20 18:44 +0800, wangyunjian wrote: > >> From: Yunjian Wang <wangyunjian@huawei.com> > >> > >> Zero is a valid fd. The fd won't be closed thus leading fd leak, when > >> it is zero. > >> > >> Fixes: f234e5bd996d ("net/failsafe: register slaves Rx interrupts") > >> Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt mode") > >> Cc: stable@dpdk.org > >> > > > > Hello Yunjian, > > > > Nothing prevents a DPDK app from closing 0 and getting it from another > > call, good catch. > > > >> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > > > > Acked-by: Gaetan Rivet <grive@u256.net> > > Applied to dpdk-next-net/master, thanks. This patch is causing Testpmd to quit when I issue a "port stop" command. Testpmd log: """ x86_64-native-linuxapp-gcc/build/app/test-pmd/testpmd -n 4 -- -i --forward-mode=mac EAL: Detected 8 lcore(s) EAL: Detected 1 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'PA' EAL: No available hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... EAL: PCI device 0002:00:02.0 on NUMA socket 0 EAL: probe driver: 15b3:1004 net_mlx4 Interactive-mode selected Set mac packet forwarding mode Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa. testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=203456, size=2176, socket=0 testpmd: preferred mempool ops selected: ring_mp_mc Warning! port-topology=paired and odd forward ports number, the last port will pair with itself. Configuring Port 1 (socket 0) Port 1: 00:15:5D:26:2B:00 Checking link statuses... Done testpmd> port stop 1 Stopping ports... Checking link statuses... Done testpmd> Stopping port 1... Stopping ports... Done Shutting down port 1... Closing ports... Done Bye... """ My terminal gets broken at this point, and I have to reinitialize it with a "reset". - Ali ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak 2020-05-03 11:33 ` Ali Alnubani @ 2020-05-04 16:22 ` Gaëtan Rivet 2020-05-04 16:28 ` Stephen Hemminger 2020-05-05 9:14 ` Ali Alnubani 0 siblings, 2 replies; 9+ messages in thread From: Gaëtan Rivet @ 2020-05-04 16:22 UTC (permalink / raw) To: Ali Alnubani Cc: Ferruh Yigit, wangyunjian, dev, jerry.lilijun, xudingke, stable, Raslan Darawsheh On 03/05/20 11:33 +0000, Ali Alnubani wrote: > Hi, > > > -----Original Message----- > > From: dev <dev-bounces@dpdk.org> On Behalf Of Ferruh Yigit > > Sent: Monday, April 27, 2020 7:56 PM > > To: Gaëtan Rivet <grive@u256.net>; wangyunjian > > <wangyunjian@huawei.com> > > Cc: dev@dpdk.org; jerry.lilijun@huawei.com; xudingke@huawei.com; > > stable@dpdk.org > > Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] net/failsafe: fix fd leak > > > > On 4/27/2020 12:12 PM, Gaëtan Rivet wrote: > > > On 27/04/20 18:44 +0800, wangyunjian wrote: > > >> From: Yunjian Wang <wangyunjian@huawei.com> > > >> > > >> Zero is a valid fd. The fd won't be closed thus leading fd leak, when > > >> it is zero. > > >> > > >> Fixes: f234e5bd996d ("net/failsafe: register slaves Rx interrupts") > > >> Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt mode") > > >> Cc: stable@dpdk.org > > >> > > > > > > Hello Yunjian, > > > > > > Nothing prevents a DPDK app from closing 0 and getting it from another > > > call, good catch. > > > > > >> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > > > > > > Acked-by: Gaetan Rivet <grive@u256.net> > > > > Applied to dpdk-next-net/master, thanks. > > This patch is causing Testpmd to quit when I issue a "port stop" command. Testpmd log: > > """ > x86_64-native-linuxapp-gcc/build/app/test-pmd/testpmd -n 4 -- -i --forward-mode=mac > EAL: Detected 8 lcore(s) > EAL: Detected 1 NUMA nodes > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > EAL: Selected IOVA mode 'PA' > EAL: No available hugepages reported in hugepages-1048576kB > EAL: Probing VFIO support... > EAL: PCI device 0002:00:02.0 on NUMA socket 0 > EAL: probe driver: 15b3:1004 net_mlx4 > Interactive-mode selected > Set mac packet forwarding mode > Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa. > testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=203456, size=2176, socket=0 > testpmd: preferred mempool ops selected: ring_mp_mc > > Warning! port-topology=paired and odd forward ports number, the last port will pair with itself. > > Configuring Port 1 (socket 0) > Port 1: 00:15:5D:26:2B:00 > Checking link statuses... > Done > testpmd> port stop 1 > Stopping ports... > Checking link statuses... > Done > testpmd> > Stopping port 1... > Stopping ports... > Done > > Shutting down port 1... > Closing ports... > Done > > Bye... > """ > > My terminal gets broken at this point, and I have to reinitialize it with a "reset". > > - Ali Hi Ali, Thanks for the report, I am looking into it. Are you testing failsafe on Azure? I see a segfault currently at startup, so in any case there are fixes to be pushed. I'll see afterward if I need a specific platform to reproduce your bug. Regards, -- Gaëtan ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak 2020-05-04 16:22 ` Gaëtan Rivet @ 2020-05-04 16:28 ` Stephen Hemminger 2020-05-05 9:47 ` Ali Alnubani 2020-05-05 9:14 ` Ali Alnubani 1 sibling, 1 reply; 9+ messages in thread From: Stephen Hemminger @ 2020-05-04 16:28 UTC (permalink / raw) To: Gaëtan Rivet Cc: Ali Alnubani, Ferruh Yigit, wangyunjian, dev, jerry.lilijun, xudingke, stable, Raslan Darawsheh On Mon, 4 May 2020 18:22:26 +0200 Gaëtan Rivet <grive@u256.net> wrote: > On 03/05/20 11:33 +0000, Ali Alnubani wrote: > > Hi, > > > > > -----Original Message----- > > > From: dev <dev-bounces@dpdk.org> On Behalf Of Ferruh Yigit > > > Sent: Monday, April 27, 2020 7:56 PM > > > To: Gaëtan Rivet <grive@u256.net>; wangyunjian > > > <wangyunjian@huawei.com> > > > Cc: dev@dpdk.org; jerry.lilijun@huawei.com; xudingke@huawei.com; > > > stable@dpdk.org > > > Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] net/failsafe: fix fd leak > > > > > > On 4/27/2020 12:12 PM, Gaëtan Rivet wrote: > > > > On 27/04/20 18:44 +0800, wangyunjian wrote: > > > >> From: Yunjian Wang <wangyunjian@huawei.com> > > > >> > > > >> Zero is a valid fd. The fd won't be closed thus leading fd leak, when > > > >> it is zero. > > > >> > > > >> Fixes: f234e5bd996d ("net/failsafe: register slaves Rx interrupts") > > > >> Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt mode") > > > >> Cc: stable@dpdk.org > > > >> > > > > > > > > Hello Yunjian, > > > > > > > > Nothing prevents a DPDK app from closing 0 and getting it from another > > > > call, good catch. > > > > > > > >> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > > > > > > > > Acked-by: Gaetan Rivet <grive@u256.net> > > > > > > Applied to dpdk-next-net/master, thanks. > > > > This patch is causing Testpmd to quit when I issue a "port stop" command. Testpmd log: > > > > """ > > x86_64-native-linuxapp-gcc/build/app/test-pmd/testpmd -n 4 -- -i --forward-mode=mac > > EAL: Detected 8 lcore(s) > > EAL: Detected 1 NUMA nodes > > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > > EAL: Selected IOVA mode 'PA' > > EAL: No available hugepages reported in hugepages-1048576kB > > EAL: Probing VFIO support... > > EAL: PCI device 0002:00:02.0 on NUMA socket 0 > > EAL: probe driver: 15b3:1004 net_mlx4 > > Interactive-mode selected > > Set mac packet forwarding mode > > Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa. > > testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=203456, size=2176, socket=0 > > testpmd: preferred mempool ops selected: ring_mp_mc > > > > Warning! port-topology=paired and odd forward ports number, the last port will pair with itself. > > > > Configuring Port 1 (socket 0) > > Port 1: 00:15:5D:26:2B:00 > > Checking link statuses... > > Done > > testpmd> port stop 1 > > Stopping ports... > > Checking link statuses... > > Done > > testpmd> > > Stopping port 1... > > Stopping ports... > > Done > > > > Shutting down port 1... > > Closing ports... > > Done > > > > Bye... > > """ > > > > My terminal gets broken at this point, and I have to reinitialize it with a "reset". The problem is that you did not blacklist the PCI address of the Mellanox device associated with your login session (normally this is the PCI device associated with eth0). By default, DPDK will take over all VF devices it finds as part of the Mellanox device startup. This means the traffic that was going to the VF associated with eth0 (your ssh) is now going to DPDK; which is not what you want. The solution is to either use blacklist (-b option) or whitelist (-w option) to get only the PCI devices you want to be part of the DPDK. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak 2020-05-04 16:28 ` Stephen Hemminger @ 2020-05-05 9:47 ` Ali Alnubani 0 siblings, 0 replies; 9+ messages in thread From: Ali Alnubani @ 2020-05-05 9:47 UTC (permalink / raw) To: Stephen Hemminger Cc: Ferruh Yigit, wangyunjian, dev, jerry.lilijun, xudingke, stable, Raslan Darawsheh, Gaëtan Rivet Hi Stephen, > -----Original Message----- > From: Stephen Hemminger <stephen@networkplumber.org> > Sent: Monday, May 4, 2020 7:29 PM > To: Gaëtan Rivet <grive@u256.net> > Cc: Ali Alnubani <alialnu@mellanox.com>; Ferruh Yigit > <ferruh.yigit@intel.com>; wangyunjian <wangyunjian@huawei.com>; > dev@dpdk.org; jerry.lilijun@huawei.com; xudingke@huawei.com; > stable@dpdk.org; Raslan Darawsheh <rasland@mellanox.com> > Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] net/failsafe: fix fd leak > > On Mon, 4 May 2020 18:22:26 +0200 > Gaëtan Rivet <grive@u256.net> wrote: > > > On 03/05/20 11:33 +0000, Ali Alnubani wrote: > > > Hi, > > > > > > > -----Original Message----- > > > > From: dev <dev-bounces@dpdk.org> On Behalf Of Ferruh Yigit > > > > Sent: Monday, April 27, 2020 7:56 PM > > > > To: Gaëtan Rivet <grive@u256.net>; wangyunjian > > > > <wangyunjian@huawei.com> > > > > Cc: dev@dpdk.org; jerry.lilijun@huawei.com; xudingke@huawei.com; > > > > stable@dpdk.org > > > > Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] net/failsafe: fix fd > > > > leak > > > > > > > > On 4/27/2020 12:12 PM, Gaëtan Rivet wrote: > > > > > On 27/04/20 18:44 +0800, wangyunjian wrote: > > > > >> From: Yunjian Wang <wangyunjian@huawei.com> > > > > >> > > > > >> Zero is a valid fd. The fd won't be closed thus leading fd > > > > >> leak, when it is zero. > > > > >> > > > > >> Fixes: f234e5bd996d ("net/failsafe: register slaves Rx > > > > >> interrupts") > > > > >> Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt > > > > >> mode") > > > > >> Cc: stable@dpdk.org > > > > >> > > > > > > > > > > Hello Yunjian, > > > > > > > > > > Nothing prevents a DPDK app from closing 0 and getting it from > > > > > another call, good catch. > > > > > > > > > >> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > > > > > > > > > > Acked-by: Gaetan Rivet <grive@u256.net> > > > > > > > > Applied to dpdk-next-net/master, thanks. > > > > > > This patch is causing Testpmd to quit when I issue a "port stop" command. > Testpmd log: > > > > > > """ > > > x86_64-native-linuxapp-gcc/build/app/test-pmd/testpmd -n 4 -- -i > > > --forward-mode=mac > > > EAL: Detected 8 lcore(s) > > > EAL: Detected 1 NUMA nodes > > > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > > > EAL: Selected IOVA mode 'PA' > > > EAL: No available hugepages reported in hugepages-1048576kB > > > EAL: Probing VFIO support... > > > EAL: PCI device 0002:00:02.0 on NUMA socket 0 > > > EAL: probe driver: 15b3:1004 net_mlx4 > > > Interactive-mode selected > > > Set mac packet forwarding mode > > > Warning: NUMA should be configured manually by using --port-numa-config > and --ring-numa-config parameters along with --numa. > > > testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=203456, > > > size=2176, socket=0 > > > testpmd: preferred mempool ops selected: ring_mp_mc > > > > > > Warning! port-topology=paired and odd forward ports number, the last > port will pair with itself. > > > > > > Configuring Port 1 (socket 0) > > > Port 1: 00:15:5D:26:2B:00 > > > Checking link statuses... > > > Done > > > testpmd> port stop 1 > > > Stopping ports... > > > Checking link statuses... > > > Done > > > testpmd> > > > Stopping port 1... > > > Stopping ports... > > > Done > > > > > > Shutting down port 1... > > > Closing ports... > > > Done > > > > > > Bye... > > > """ > > > > > > My terminal gets broken at this point, and I have to reinitialize it with a > "reset". > > The problem is that you did not blacklist the PCI address of the Mellanox device > associated with your login session (normally this is the PCI device associated > with eth0). > > By default, DPDK will take over all VF devices it finds as part of the Mellanox > device startup. This means the traffic that was going to the VF associated with > eth0 (your ssh) is now going to DPDK; which is not what you want. > > The solution is to either use blacklist (-b option) or whitelist (-w option) to get > only the PCI devices you want to be part of the DPDK. I'm confused. I don't think my login interface was being whitelisted in DPDK because my issue isn't that I lose my connection, it's that testpmd quits when I stop a port. Regards, Ali ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak 2020-05-04 16:22 ` Gaëtan Rivet 2020-05-04 16:28 ` Stephen Hemminger @ 2020-05-05 9:14 ` Ali Alnubani 2020-05-05 18:35 ` Gaëtan Rivet 1 sibling, 1 reply; 9+ messages in thread From: Ali Alnubani @ 2020-05-05 9:14 UTC (permalink / raw) To: Gaëtan Rivet Cc: Ferruh Yigit, wangyunjian, dev, jerry.lilijun, xudingke, stable, Raslan Darawsheh > -----Original Message----- > From: Gaëtan Rivet <grive@u256.net> > Sent: Monday, May 4, 2020 7:22 PM > To: Ali Alnubani <alialnu@mellanox.com> > Cc: Ferruh Yigit <ferruh.yigit@intel.com>; wangyunjian > <wangyunjian@huawei.com>; dev@dpdk.org; jerry.lilijun@huawei.com; > xudingke@huawei.com; stable@dpdk.org; Raslan Darawsheh > <rasland@mellanox.com> > Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] net/failsafe: fix fd leak > > On 03/05/20 11:33 +0000, Ali Alnubani wrote: > > Hi, > > > > > -----Original Message----- > > > From: dev <dev-bounces@dpdk.org> On Behalf Of Ferruh Yigit > > > Sent: Monday, April 27, 2020 7:56 PM > > > To: Gaëtan Rivet <grive@u256.net>; wangyunjian > > > <wangyunjian@huawei.com> > > > Cc: dev@dpdk.org; jerry.lilijun@huawei.com; xudingke@huawei.com; > > > stable@dpdk.org > > > Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] net/failsafe: fix fd > > > leak > > > > > > On 4/27/2020 12:12 PM, Gaëtan Rivet wrote: > > > > On 27/04/20 18:44 +0800, wangyunjian wrote: > > > >> From: Yunjian Wang <wangyunjian@huawei.com> > > > >> > > > >> Zero is a valid fd. The fd won't be closed thus leading fd leak, > > > >> when it is zero. > > > >> > > > >> Fixes: f234e5bd996d ("net/failsafe: register slaves Rx > > > >> interrupts") > > > >> Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt > > > >> mode") > > > >> Cc: stable@dpdk.org > > > >> > > > > > > > > Hello Yunjian, > > > > > > > > Nothing prevents a DPDK app from closing 0 and getting it from > > > > another call, good catch. > > > > > > > >> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > > > > > > > > Acked-by: Gaetan Rivet <grive@u256.net> > > > > > > Applied to dpdk-next-net/master, thanks. > > > > This patch is causing Testpmd to quit when I issue a "port stop" command. > Testpmd log: > > > > """ > > x86_64-native-linuxapp-gcc/build/app/test-pmd/testpmd -n 4 -- -i > > --forward-mode=mac > > EAL: Detected 8 lcore(s) > > EAL: Detected 1 NUMA nodes > > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > > EAL: Selected IOVA mode 'PA' > > EAL: No available hugepages reported in hugepages-1048576kB > > EAL: Probing VFIO support... > > EAL: PCI device 0002:00:02.0 on NUMA socket 0 > > EAL: probe driver: 15b3:1004 net_mlx4 > > Interactive-mode selected > > Set mac packet forwarding mode > > Warning: NUMA should be configured manually by using --port-numa-config > and --ring-numa-config parameters along with --numa. > > testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=203456, > > size=2176, socket=0 > > testpmd: preferred mempool ops selected: ring_mp_mc > > > > Warning! port-topology=paired and odd forward ports number, the last port > will pair with itself. > > > > Configuring Port 1 (socket 0) > > Port 1: 00:15:5D:26:2B:00 > > Checking link statuses... > > Done > > testpmd> port stop 1 > > Stopping ports... > > Checking link statuses... > > Done > > testpmd> > > Stopping port 1... > > Stopping ports... > > Done > > > > Shutting down port 1... > > Closing ports... > > Done > > > > Bye... > > """ > > > > My terminal gets broken at this point, and I have to reinitialize it with a > "reset". > > > > - Ali > > Hi Ali, > > Thanks for the report, I am looking into it. > > Are you testing failsafe on Azure? This reproduces with Failsafe, but not necessarily on Azure. You can try to reproduce on any platform if you pass something like '-w 00:00.0 --vdev="net_failsafe0,dev(0000:08:00.0)"'. > > I see a segfault currently at startup, so in any case there are fixes to be > pushed. > I'll see afterward if I need a specific platform to reproduce your bug. > > Regards, > -- > Gaëtan Regards, Ali ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak 2020-05-05 9:14 ` Ali Alnubani @ 2020-05-05 18:35 ` Gaëtan Rivet 0 siblings, 0 replies; 9+ messages in thread From: Gaëtan Rivet @ 2020-05-05 18:35 UTC (permalink / raw) To: Ali Alnubani Cc: Ferruh Yigit, wangyunjian, dev, jerry.lilijun, xudingke, stable, Raslan Darawsheh On 05/05/20 09:14 +0000, Ali Alnubani wrote: > > -----Original Message----- > > From: Gaëtan Rivet <grive@u256.net> > > Sent: Monday, May 4, 2020 7:22 PM > > To: Ali Alnubani <alialnu@mellanox.com> > > Cc: Ferruh Yigit <ferruh.yigit@intel.com>; wangyunjian > > <wangyunjian@huawei.com>; dev@dpdk.org; jerry.lilijun@huawei.com; > > xudingke@huawei.com; stable@dpdk.org; Raslan Darawsheh > > <rasland@mellanox.com> > > Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] net/failsafe: fix fd leak > > > > On 03/05/20 11:33 +0000, Ali Alnubani wrote: > > > Hi, > > > > > > > -----Original Message----- > > > > From: dev <dev-bounces@dpdk.org> On Behalf Of Ferruh Yigit > > > > Sent: Monday, April 27, 2020 7:56 PM > > > > To: Gaëtan Rivet <grive@u256.net>; wangyunjian > > > > <wangyunjian@huawei.com> > > > > Cc: dev@dpdk.org; jerry.lilijun@huawei.com; xudingke@huawei.com; > > > > stable@dpdk.org > > > > Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] net/failsafe: fix fd > > > > leak > > > > > > > > On 4/27/2020 12:12 PM, Gaëtan Rivet wrote: > > > > > On 27/04/20 18:44 +0800, wangyunjian wrote: > > > > >> From: Yunjian Wang <wangyunjian@huawei.com> > > > > >> > > > > >> Zero is a valid fd. The fd won't be closed thus leading fd leak, > > > > >> when it is zero. > > > > >> > > > > >> Fixes: f234e5bd996d ("net/failsafe: register slaves Rx > > > > >> interrupts") > > > > >> Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt > > > > >> mode") > > > > >> Cc: stable@dpdk.org > > > > >> > > > > > > > > > > Hello Yunjian, > > > > > > > > > > Nothing prevents a DPDK app from closing 0 and getting it from > > > > > another call, good catch. > > > > > > > > > >> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > > > > > > > > > > Acked-by: Gaetan Rivet <grive@u256.net> > > > > > > > > Applied to dpdk-next-net/master, thanks. > > > > > > This patch is causing Testpmd to quit when I issue a "port stop" command. > > Testpmd log: > > > > > > """ > > > x86_64-native-linuxapp-gcc/build/app/test-pmd/testpmd -n 4 -- -i > > > --forward-mode=mac > > > EAL: Detected 8 lcore(s) > > > EAL: Detected 1 NUMA nodes > > > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > > > EAL: Selected IOVA mode 'PA' > > > EAL: No available hugepages reported in hugepages-1048576kB > > > EAL: Probing VFIO support... > > > EAL: PCI device 0002:00:02.0 on NUMA socket 0 > > > EAL: probe driver: 15b3:1004 net_mlx4 > > > Interactive-mode selected > > > Set mac packet forwarding mode > > > Warning: NUMA should be configured manually by using --port-numa-config > > and --ring-numa-config parameters along with --numa. > > > testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=203456, > > > size=2176, socket=0 > > > testpmd: preferred mempool ops selected: ring_mp_mc > > > > > > Warning! port-topology=paired and odd forward ports number, the last port > > will pair with itself. > > > > > > Configuring Port 1 (socket 0) > > > Port 1: 00:15:5D:26:2B:00 > > > Checking link statuses... > > > Done > > > testpmd> port stop 1 > > > Stopping ports... > > > Checking link statuses... > > > Done > > > testpmd> > > > Stopping port 1... > > > Stopping ports... > > > Done > > > > > > Shutting down port 1... > > > Closing ports... > > > Done > > > > > > Bye... > > > """ > > > > > > My terminal gets broken at this point, and I have to reinitialize it with a > > "reset". > > > > > > - Ali > > > > Hi Ali, > > > > Thanks for the report, I am looking into it. > > > > Are you testing failsafe on Azure? > > This reproduces with Failsafe, but not necessarily on Azure. You can try to reproduce on any platform if you pass something like '-w 00:00.0 --vdev="net_failsafe0,dev(0000:08:00.0)"'. > Hi, Indeed, I am able to reproduce the issue using this command: bash> ./build/app/dpdk-testpmd -n4 -m 4096 --no-huge --vdev='net_failsafe0,dev(net_ring0)' -- -i (no need of PCI bus nor hugepages to validate failsafe sometimes). I was asking about Azure because you did not give the command line options for fail-safe, so I assumed it had been probed automagically. I made a fix, will send soon. Regards, -- Gaëtan ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-05-05 18:35 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-04-27 10:44 [dpdk-stable] [dpdk-dev] [PATCH] net/failsafe: fix fd leak wangyunjian 2020-04-27 11:12 ` Gaëtan Rivet 2020-04-27 16:55 ` Ferruh Yigit 2020-05-03 11:33 ` Ali Alnubani 2020-05-04 16:22 ` Gaëtan Rivet 2020-05-04 16:28 ` Stephen Hemminger 2020-05-05 9:47 ` Ali Alnubani 2020-05-05 9:14 ` Ali Alnubani 2020-05-05 18:35 ` Gaëtan Rivet
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).