This patch set contains two bugfixes for lib eventdev. Chengwen Feng (2): eventdev: remove redundant setting thread name eventdev: fix memory leakage when create thread fail lib/eventdev/rte_event_eth_rx_adapter.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -- 2.7.4
From: Chengwen Feng <fengchengwen@huawei.com> The thread name already set by rte_ctrl_thread_create() API, so remove the call of rte_thread_setname() API. Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter") Cc: stable@dpdk.org Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- lib/eventdev/rte_event_eth_rx_adapter.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c index ca166a6..d317e89 100644 --- a/lib/eventdev/rte_event_eth_rx_adapter.c +++ b/lib/eventdev/rte_event_eth_rx_adapter.c @@ -1432,10 +1432,8 @@ rxa_create_intr_thread(struct rte_event_eth_rx_adapter *rx_adapter) err = rte_ctrl_thread_create(&rx_adapter->rx_intr_thread, thread_name, NULL, rxa_intr_thread, rx_adapter); - if (!err) { - rte_thread_setname(rx_adapter->rx_intr_thread, thread_name); + if (!err) return 0; - } RTE_EDEV_LOG_ERR("Failed to create interrupt thread err = %d\n", err); error: -- 2.7.4
From: Chengwen Feng <fengchengwen@huawei.com> This patch fixes the issue that epoll_events memory is not released after the intr thread created fail. Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter") Cc: stable@dpdk.org Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- lib/eventdev/rte_event_eth_rx_adapter.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c index d317e89..13dfb28 100644 --- a/lib/eventdev/rte_event_eth_rx_adapter.c +++ b/lib/eventdev/rte_event_eth_rx_adapter.c @@ -1436,6 +1436,7 @@ rxa_create_intr_thread(struct rte_event_eth_rx_adapter *rx_adapter) return 0; RTE_EDEV_LOG_ERR("Failed to create interrupt thread err = %d\n", err); + rte_free(rx_adapter->epoll_events); error: rte_ring_free(rx_adapter->intr_ring); rx_adapter->intr_ring = NULL; -- 2.7.4
+Cc: jay.jayatheerthan@intel.com>
>This patch set contains two bugfixes for lib eventdev.
>
>Chengwen Feng (2):
> eventdev: remove redundant setting thread name
> eventdev: fix memory leakage when create thread fail
>
> lib/eventdev/rte_event_eth_rx_adapter.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
>--
>2.7.4
On Fri, Apr 30, 2021 at 3:04 PM Min Hu (Connor) <humin29@huawei.com> wrote: > > From: Chengwen Feng <fengchengwen@huawei.com> > > The thread name already set by rte_ctrl_thread_create() API, so remove > the call of rte_thread_setname() API. > > Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter") > Cc: stable@dpdk.org > > Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> > Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com> > --- > lib/eventdev/rte_event_eth_rx_adapter.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c > index ca166a6..d317e89 100644 > --- a/lib/eventdev/rte_event_eth_rx_adapter.c > +++ b/lib/eventdev/rte_event_eth_rx_adapter.c > @@ -1432,10 +1432,8 @@ rxa_create_intr_thread(struct rte_event_eth_rx_adapter *rx_adapter) > > err = rte_ctrl_thread_create(&rx_adapter->rx_intr_thread, thread_name, > NULL, rxa_intr_thread, rx_adapter); > - if (!err) { > - rte_thread_setname(rx_adapter->rx_intr_thread, thread_name); > + if (!err) > return 0; > - } > > RTE_EDEV_LOG_ERR("Failed to create interrupt thread err = %d\n", err); > error: > -- > 2.7.4 >
On Fri, Apr 30, 2021 at 3:04 PM Min Hu (Connor) <humin29@huawei.com> wrote: > > From: Chengwen Feng <fengchengwen@huawei.com> > > This patch fixes the issue that epoll_events memory is not released > after the intr thread created fail. > > Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter") > Cc: stable@dpdk.org > > Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> > Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com> > --- > lib/eventdev/rte_event_eth_rx_adapter.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c > index d317e89..13dfb28 100644 > --- a/lib/eventdev/rte_event_eth_rx_adapter.c > +++ b/lib/eventdev/rte_event_eth_rx_adapter.c > @@ -1436,6 +1436,7 @@ rxa_create_intr_thread(struct rte_event_eth_rx_adapter *rx_adapter) > return 0; > > RTE_EDEV_LOG_ERR("Failed to create interrupt thread err = %d\n", err); > + rte_free(rx_adapter->epoll_events); > error: > rte_ring_free(rx_adapter->intr_ring); > rx_adapter->intr_ring = NULL; > -- > 2.7.4 >
On Sat, May 1, 2021 at 6:08 PM Jerin Jacob <jerinjacobk@gmail.com> wrote: > > On Fri, Apr 30, 2021 at 3:04 PM Min Hu (Connor) <humin29@huawei.com> wrote: > > > > From: Chengwen Feng <fengchengwen@huawei.com> > > > > This patch fixes the issue that epoll_events memory is not released > > after the intr thread created fail. > > > > Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter") > > Cc: stable@dpdk.org > > > > Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> > > Signed-off-by: Min Hu (Connor) <humin29@huawei.com> > > Reviewed-by: Jerin Jacob <jerinj@marvell.com> Series applied to dpdk-next-eventdev/for-main. Thanks. > > > > --- > > lib/eventdev/rte_event_eth_rx_adapter.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c > > index d317e89..13dfb28 100644 > > --- a/lib/eventdev/rte_event_eth_rx_adapter.c > > +++ b/lib/eventdev/rte_event_eth_rx_adapter.c > > @@ -1436,6 +1436,7 @@ rxa_create_intr_thread(struct rte_event_eth_rx_adapter *rx_adapter) > > return 0; > > > > RTE_EDEV_LOG_ERR("Failed to create interrupt thread err = %d\n", err); > > + rte_free(rx_adapter->epoll_events); > > error: > > rte_ring_free(rx_adapter->intr_ring); > > rx_adapter->intr_ring = NULL; > > -- > > 2.7.4 > >