* RX descriptors exhausted?
@ 2014-04-18 7:24 Anuj Kalia
0 siblings, 0 replies; only message in thread
From: Anuj Kalia @ 2014-04-18 7:24 UTC (permalink / raw)
To: dev-VfR2kkLFssw
Hi.
I'm facing a problem where I stop receiving packets after I have
received as many packets as the number of RX descriptors. More details
follow:
I have a small program where a server machine and a client machine
execute the following loop:
int nb_rx_new = rte_eth_rx_burst(0, 0, rx_pkts_burst, MAX_PKT_BURST);
int nb_tx_new = rte_eth_tx_burst(0, 0, tx_pkts_burst, MAX_PKT_BURST);
for(i = 0; i < nb_rx_new; i++) {
rte_pktmbuf_free(rx_pkts_burst[i]);
}
printf("%d %d\n", nb_rx_new, nb_tx_new);
usleep(200000);
Both machines use 1 port (port 0) with a single RX and TX queue (RX
queue id = 0, TX queue id = 0). The RX queues were created with
NUM_RX_DESC descriptors. I observe that after receiving about
NUM_RX_DESC packets, either the client or the server stops receiving
any more packets (nb_rx_new becomes 0 at either the client or the
server).
Some more observations: first, RX stops at only one of the machines
(as this machine still keeps TX-ing, the other machine keeps getting
RX packets). Second, this problem does not occur if I remove the TX
code from either the client or the server.
My rx_conf is: pthresh = 8, hthresh = 8, wthresh = 4, rx_free_thresh =
64. NUM_RX_DESC is 128 (I've tried with larger values).
The NIC is an Intel 82599 10GbE, DPDK version is 1.5.
--Anuj Kalia
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-04-18 7:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-18 7:24 RX descriptors exhausted? Anuj Kalia
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).