DPDK patches and discussions
 help / color / mirror / Atom feed
* DPDK22 issue: Unable to set more than 4 queues in Azure
@ 2023-06-22 16:36 Nageswara Rao
  2023-06-25 18:48 ` Stephen Hemminger
  0 siblings, 1 reply; 5+ messages in thread
From: Nageswara Rao @ 2023-06-22 16:36 UTC (permalink / raw)
  To: dev, ASHIQUE CK

[-- Attachment #1: Type: text/plain, Size: 3102 bytes --]

Hi All,

We are observing the following issue with DPDK22.11. We didn’t find any
upstream patches for this issue on the DPDK github. Is there any known
issue, please let us know.



*Issue:*

On Azure platform, we are unable to configure more than 4 queues. When we
try to configure more than 4 queues its failing with “EAL: Cannot send more
than 8 FDs” error.

Here I am pasting the working and failing testpmd logs.

Please note that this issue is not observed in DPDK 21.11.



*DPDK Testpmd*:
*Working case with 4 rx & 4 tx queues:*
./build/app/dpdk-testpmd -l 0-3 -a 38d9:00:02.0 -- --nb-cores=3 --rxq=4
--txq=4 --burst=64 --mbcache=512 --max-pkt-len=128 --forward-mode=txonly -a
--stats-period 1

*Failing case with 8 rx & 8 tx queues:*
./build/app/dpdk-testpmd -l 0-7 -a 38d9:00:02.0 -- --nb-cores=4 --rxq=8
--txq=8 --burst=64 --mbcache=512 --max-pkt-len=128 --forward-mode=txonly -a
--stats-period 1

*DPDK log:*
Configuring Port 0 (socket 0)
EAL: Cannot send more than 8 FDs
tap_mp_req_on_rxtx(): Failed to send start req to secondary 7
*** stack smashing detected ***: <unknown> terminated
Aborted

=====================================



When we checked DPDK 22.11 code, tap_mp_req_on_rxtx() pasted below is newly
added in rte_eth_tap.c file which is causing the issue.



static int

tap_mp_req_on_rxtx(struct rte_eth_dev *dev)

{

                struct rte_mp_msg msg;

                struct ipc_queues *request_param = (struct ipc_queues
*)msg.param;

                int err;

                int fd_iterator = 0;

                struct pmd_process_private *process_private =
dev->process_private;

                int i;



                memset(&msg, 0, sizeof(msg));

                strlcpy(msg.name, TAP_MP_REQ_START_RXTX, sizeof(msg.name));

                strlcpy(request_param->port_name, dev->data->name,
sizeof(request_param->port_name));

                msg.len_param = sizeof(*request_param);

                for (i = 0; i < dev->data->nb_tx_queues; i++) {

                                msg.fds[fd_iterator++] =
process_private->txq_fds[i];

                                msg.num_fds++;

                                request_param->txq_count++;

                }

                for (i = 0; i < dev->data->nb_rx_queues; i++) {

                                msg.fds[fd_iterator++] =
process_private->rxq_fds[i];

                                msg.num_fds++;

                                request_param->rxq_count++;

                }



                err = rte_mp_sendmsg(&msg);  ========================è This
function is sending msg with msg.num_fds > RTE_PMD_TAP_MAX_QUEUES (i.e. 8),
because of that its failing.

                if (err < 0) {

                                TAP_LOG(ERR, "Failed to send start req to
secondary %d",

                                                rte_errno);

                                return -1;

                }



                return 0;

}



Thanks

Nagesh

[-- Attachment #2: Type: text/html, Size: 9110 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-06-26 16:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-22 16:36 DPDK22 issue: Unable to set more than 4 queues in Azure Nageswara Rao
2023-06-25 18:48 ` Stephen Hemminger
2023-06-26 10:23   ` Nageswara Rao
2023-06-26 16:25     ` Stephen Hemminger
2023-06-26 16:29     ` Nageswara Rao

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).