[dpdk-stable] [PATCH 17.11] eventdev: fix eth Rx adapter hotplug incompatibility
Yongseok Koh
yskoh at mellanox.com
Thu Jan 17 07:57:53 CET 2019
> On Jan 16, 2019, at 9:12 PM, Nikhil Rao <nikhil.rao at intel.com> wrote:
>
> [ backported from upstream commit d7b5f102c4781bd2e9a952243eb59cffe135b01c ]
>
> Use RTE_MAX_ETHPORTS instead of rte_eth_dev_count_total()
> when allocating eth Rx adapter's per-eth device data structure
> to account for hotplugged devices.
>
> Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> Cc: stable at dpdk.org
>
> Signed-off-by: Nikhil Rao <nikhil.rao at intel.com>
> Acked-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
> ---
Applied to stable/17.11
Thanks,
Yongseok
> lib/librte_eventdev/rte_event_eth_rx_adapter.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> index de4cf73..3688b8e 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> @@ -900,7 +900,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> rx_adapter->conf_arg = conf_arg;
> strcpy(rx_adapter->mem_name, mem_name);
> rx_adapter->eth_devices = rte_zmalloc_socket(rx_adapter->mem_name,
> - rte_eth_dev_count() *
> + RTE_MAX_ETHPORTS *
> sizeof(struct eth_device_info), 0,
> socket_id);
> rte_convert_rss_key((const uint32_t *)default_rss_key,
> @@ -913,7 +913,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> return -ENOMEM;
> }
> rte_spinlock_init(&rx_adapter->rx_lock);
> - for (i = 0; i < rte_eth_dev_count(); i++)
> + for (i = 0; i < RTE_MAX_ETHPORTS; i++)
> rx_adapter->eth_devices[i].dev = &rte_eth_devices[i];
>
> event_eth_rx_adapter[id] = rx_adapter;
> --
> 1.8.3.1
>
More information about the stable
mailing list