* Should the other queues at same port work when one queue is full ?
@ 2015-01-18 11:12 XU Liang
[not found] ` <e960000a-5550-4d0a-be4f-a688f5dd642b-uqgZSDCUmcY3TOWNJCPdyQ@public.gmane.org>
2015-01-22 0:44 ` XU Liang
0 siblings, 2 replies; 3+ messages in thread
From: XU Liang @ 2015-01-18 11:12 UTC (permalink / raw)
To: dev
I configured the 82599 ports to work in multi-queue mode and flow director to assign different TCP connections to different queues. A multi-process application receive packets from queues and each process reads a queue. When I kill one process, the process's queue is full, all descriptors of the queue is used. Then I send packets to other queues, but no packet is received by other processes from other queues. And no ierrors at the port stats. I'm not sure it's a bug or designed that way.
I expect that when a process exits abnormally affect only part of the connections, but now all the connections are not working properly. How can I just turn off the exception queue, so that other processes / queues work properly.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Should the other queues at same port work when one queue is full ?
[not found] ` <e960000a-5550-4d0a-be4f-a688f5dd642b-uqgZSDCUmcY3TOWNJCPdyQ@public.gmane.org>
@ 2015-01-19 10:57 ` Bruce Richardson
0 siblings, 0 replies; 3+ messages in thread
From: Bruce Richardson @ 2015-01-19 10:57 UTC (permalink / raw)
To: XU Liang; +Cc: dev
On Sun, Jan 18, 2015 at 07:12:31PM +0800, XU Liang wrote:
> I configured the 82599 ports to work in multi-queue mode and flow director to assign different TCP connections to different queues. A multi-process application receive packets from queues and each process reads a queue. When I kill one process, the process's queue is full, all descriptors of the queue is used. Then I send packets to other queues, but no packet is received by other processes from other queues. And no ierrors at the port stats. I'm not sure it's a bug or designed that way.
> I expect that when a process exits abnormally affect only part of the connections, but now all the connections are not working properly. How can I just turn off the exception queue, so that other processes / queues work properly.
You need to turn on the "drop enable" bit in your NIC configuration to allow
packets for full queues to be dropped, allowing other queues to continue as normal.
In DPDK this is set by the value "rx_drop_en" in the rx configuration.
In the latest DPDK tree, you can see this value being set for the symmetric mp
example application in: examples/multi_process/symmetric_mp/main.c
Regards,
/Bruce
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Should the other queues at same port work when one queue is full ?
2015-01-18 11:12 Should the other queues at same port work when one queue is full ? XU Liang
[not found] ` <e960000a-5550-4d0a-be4f-a688f5dd642b-uqgZSDCUmcY3TOWNJCPdyQ@public.gmane.org>
@ 2015-01-22 0:44 ` XU Liang
1 sibling, 0 replies; 3+ messages in thread
From: XU Liang @ 2015-01-22 0:44 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev
Thanks, I had validated the 'rx_drop_en' setting. It's worked.
Regards,/Liang------------------------------------------------------------------From:Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>Time:2015 Jan 19 (Mon) 18:58To:徐亮 <liang.xu-uqgZSDCUmcY3TOWNJCPdyQ@public.gmane.org>Cc:dev <dev-VfR2kkLFssw@public.gmane.org>Subject:Re: [dpdk-dev] Should the other queues at same port work when one queue is full ?
On Sun, Jan 18, 2015 at 07:12:31PM +0800, XU Liang wrote:
> I configured the 82599 ports to work in multi-queue mode and flow director to assign different TCP connections to different queues. A multi-process application receive packets from queues and each process reads a queue. When I kill one process, the process's queue is full, all descriptors of the queue is used. Then I send packets to other queues, but no packet is received by other processes from other queues. And no ierrors at the port stats. I'm not sure it's a bug or designed that way.
> I expect that when a process exits abnormally affect only part of the connections, but now all the connections are not working properly. How can I just turn off the exception queue, so that other processes / queues work properly.
You need to turn on the "drop enable" bit in your NIC configuration to allow
packets for full queues to be dropped, allowing other queues to continue as normal.
In DPDK this is set by the value "rx_drop_en" in the rx configuration.
In the latest DPDK tree, you can see this value being set for the symmetric mp
example application in: examples/multi_process/symmetric_mp/main.c
Regards,
/Bruce
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-01-22 0:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-18 11:12 Should the other queues at same port work when one queue is full ? XU Liang
[not found] ` <e960000a-5550-4d0a-be4f-a688f5dd642b-uqgZSDCUmcY3TOWNJCPdyQ@public.gmane.org>
2015-01-19 10:57 ` Bruce Richardson
2015-01-22 0:44 ` XU Liang
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).