* [dpdk-users] KNI multi-queue example? @ 2016-03-25 0:00 Jason Kwon 2016-04-04 16:11 ` Andriy Berestovskyy 0 siblings, 1 reply; 4+ messages in thread From: Jason Kwon @ 2016-03-25 0:00 UTC (permalink / raw) To: users Hello, In the DPDK 2.2 KNI example code, only a single RX/TX queue pair is set up for each Ethernet device port. Is there a KNI example for devices and drivers which support multiple queues per port? Would such an implementation involve instantiating multiple KNI devices, each to be associated with a single RX/TX queue pair? Or would it be possible to associate multiple RX/TX queues of a single port to a single KNI device? Thank you, Jason ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-users] KNI multi-queue example? 2016-03-25 0:00 [dpdk-users] KNI multi-queue example? Jason Kwon @ 2016-04-04 16:11 ` Andriy Berestovskyy 2016-06-08 22:59 ` Cliff Burdick 0 siblings, 1 reply; 4+ messages in thread From: Andriy Berestovskyy @ 2016-04-04 16:11 UTC (permalink / raw) To: Jason Kwon; +Cc: users Hi Jason, On Fri, Mar 25, 2016 at 1:00 AM, Jason Kwon <m43kwon@gmail.com> wrote: > Is there a KNI example for devices and > drivers which support multiple queues per port? I guess there is no such an example, please see below. > Would such an implementation involve instantiating multiple KNI devices, > each to be associated with a single RX/TX queue pair? Or would it be > possible to associate multiple RX/TX queues of a single port to a single > KNI device? Since KNI has just 1 RX/TX pair, for the NIC->KNI path you need to modify kni_ingress() to iterate all the NIC RX queues and send all of those packets to the KNI. For the KNI->NIC path you need to modify kni_egress() to distribute the packets received from the KNI to multiple NIC TX queues (say, based on a hash). Having said the above, most likely it will not get you any performance gain, since I guess the bottleneck is KNI, not the NIC queues. Regards, Andriy Berestovskyy ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-users] KNI multi-queue example? 2016-04-04 16:11 ` Andriy Berestovskyy @ 2016-06-08 22:59 ` Cliff Burdick 2016-06-09 11:44 ` Andriy Berestovskyy 0 siblings, 1 reply; 4+ messages in thread From: Cliff Burdick @ 2016-06-08 22:59 UTC (permalink / raw) To: Andriy Berestovskyy; +Cc: Jason Kwon, users Andriy, which pktmbuf_pool do you use when initializing KNI? There's a separate pool for each queue on a port. On Mon, Apr 4, 2016 at 9:11 AM, Andriy Berestovskyy <aber@semihalf.com> wrote: > Hi Jason, > > On Fri, Mar 25, 2016 at 1:00 AM, Jason Kwon <m43kwon@gmail.com> wrote: > > Is there a KNI example for devices and > > drivers which support multiple queues per port? > > I guess there is no such an example, please see below. > > > Would such an implementation involve instantiating multiple KNI devices, > > each to be associated with a single RX/TX queue pair? Or would it be > > possible to associate multiple RX/TX queues of a single port to a single > > KNI device? > > Since KNI has just 1 RX/TX pair, for the NIC->KNI path you need to > modify kni_ingress() to iterate all the NIC RX queues and send all of > those packets to the KNI. > > For the KNI->NIC path you need to modify kni_egress() to distribute > the packets received from the KNI to multiple NIC TX queues (say, > based on a hash). > > Having said the above, most likely it will not get you any performance > gain, since I guess the bottleneck is KNI, not the NIC queues. > > Regards, > Andriy Berestovskyy > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-users] KNI multi-queue example? 2016-06-08 22:59 ` Cliff Burdick @ 2016-06-09 11:44 ` Andriy Berestovskyy 0 siblings, 0 replies; 4+ messages in thread From: Andriy Berestovskyy @ 2016-06-09 11:44 UTC (permalink / raw) To: Cliff Burdick; +Cc: Jason Kwon, users Hi Cliff, KNI example has just one mempool and there is a reason for that: you cannot init KNI with a mempool and then send there an mbuf from another mempool. So I suggest to use the same mempool for all the NIC queues. Andriy On Thu, Jun 9, 2016 at 12:59 AM, Cliff Burdick <shaklee3@gmail.com> wrote: > Andriy, which pktmbuf_pool do you use when initializing KNI? There's a > separate pool for each queue on a port. > > On Mon, Apr 4, 2016 at 9:11 AM, Andriy Berestovskyy <aber@semihalf.com> > wrote: >> >> Hi Jason, >> >> On Fri, Mar 25, 2016 at 1:00 AM, Jason Kwon <m43kwon@gmail.com> wrote: >> > Is there a KNI example for devices and >> > drivers which support multiple queues per port? >> >> I guess there is no such an example, please see below. >> >> > Would such an implementation involve instantiating multiple KNI devices, >> > each to be associated with a single RX/TX queue pair? Or would it be >> > possible to associate multiple RX/TX queues of a single port to a single >> > KNI device? >> >> Since KNI has just 1 RX/TX pair, for the NIC->KNI path you need to >> modify kni_ingress() to iterate all the NIC RX queues and send all of >> those packets to the KNI. >> >> For the KNI->NIC path you need to modify kni_egress() to distribute >> the packets received from the KNI to multiple NIC TX queues (say, >> based on a hash). >> >> Having said the above, most likely it will not get you any performance >> gain, since I guess the bottleneck is KNI, not the NIC queues. >> >> Regards, >> Andriy Berestovskyy > > -- Andriy Berestovskyy ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-06-09 11:44 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-03-25 0:00 [dpdk-users] KNI multi-queue example? Jason Kwon 2016-04-04 16:11 ` Andriy Berestovskyy 2016-06-08 22:59 ` Cliff Burdick 2016-06-09 11:44 ` Andriy Berestovskyy
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).