[dpdk-dev] Running kni with low amount of cores

Zhang, Helin helin.zhang at intel.com
Fri Jul 11 04:53:09 CEST 2014



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Olson, Matt Lyle
> Sent: Thursday, July 10, 2014 4:12 AM
> To: dev at dpdk.org
> Subject: [dpdk-dev] Running kni with low amount of cores
> 
> Hello,
> 
> I have two NIC devices and a quad core system that I'm trying to run kni on. I
> would like to leave two cores for general use and two cores for kni. When run
> kni on just one of the ports, everything works fine and I can use that vEth
> normally. The exact command I run is this: ./kni -c 0x0c -n 2 -- -P -p 0x1
> -config="(0,2,3)" But when I try to run kni on both ports, I can't find a
> configuration to make it work. Here's all the configs that I have tried, but none
> of them seem to work properly, the same way as just a single port: "(0,2,3),
> (1,2,3)"     "(0,2,3), (1,3,2)"    "(0,2,2), (1,3,3)". I'm wondering if it is
> supposed to work this way,  where each port needs its own Tx and Rx core, or
> if there is a way to get around it. If it is supposed to work this way, would it be
> worth my time to edit the code to allow me to have all Rx information dealt
> with on one core and all Tx on another?
> 
> Thanks,
> Matt Olson

Hi Matt

For the KNI example application, each lcore is used for RX or TX of a port only, you can check the first part of code in main_loop() in examples/kni/main.c.
It assumes that the number of lcores is not the bottle neck.

So for the scenario of yours, that might be supported. But it would not be too difficult to support your case by modifying the example application by yourself.

Regards,
Helin


More information about the dev mailing list