From mboxrd@z Thu Jan 1 00:00:00 1970 From: Prashant Upadhyaya Subject: Re: generic load balancing Date: Thu, 5 Dec 2013 10:01:52 +0530 Message-ID: References: <03f701cef134$7e564720$7b02d560$@com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: "dev-VfR2kkLFssw@public.gmane.org" To: =?iso-8859-1?Q?Fran=E7ois-Fr=E9d=E9ric_Ozog?= , 'Michael Quicquaro' Return-path: In-Reply-To: <03f701cef134$7e564720$7b02d560$@com> Content-Language: en-US List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Hi, It's a real pity that Intel 82599 NIC (and possibly others) don't have a si= mple round robin scheduling of packets on the configured queues. I have requested Intel earlier, and using this forum requesting again -- pl= ease please put this facility in the NIC that if I drop N queues there and = configure the NIC for some round robin scheduling on queues, then NIC shou= ld simply put the received packets one by one on queue 1, then on queue2,..= ..,then on queueN, and then back on queue 1. The above is very useful in lot of load balancing cases. Regards -Prashant -----Original Message----- From: dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] On Behalf Of Fran=E7ois-Fr=E9d=E9ri= c Ozog Sent: Thursday, December 05, 2013 2:35 AM To: 'Michael Quicquaro' Cc: dev-VfR2kkLFssw@public.gmane.org Subject: Re: [dpdk-dev] generic load balancing Hi, As far as I can tell, this is really hardware dependent. Some hash function= s allow uplink and downlink packets of the same "session" to go to the same= queue (I know Chelsio can do this). For the Intel card, you may find what you want in: http://www.intel.com/content/www/us/en/ethernet-controllers/82599-10-gbe-co= n troller-datasheet.html Other cards require NDA or other agreements to get details of RSS. If you have a performance problem, may I suggest you use kernel 3.10 then m= onitor system activity with "perf" command. For instance you can start with= "perf top -a" this will give you nice information. Then your creativity wi= ll do the rest ;-) You may be surprised what comes on the top hot points... (the most unexpected hot function I found here was Linux syscall gettimeofday!!!) Fran=E7ois-Fr=E9d=E9ric > -----Message d'origine----- > De : dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] De la part de Michael Quicquaro > Envoy=E9 : mercredi 4 d=E9cembre 2013 18:53 =C0 : dev-VfR2kkLFssw@public.gmane.org Objet : > [dpdk-dev] generic load balancing > > Hi all, > I am writing a dpdk application that will receive packets from one > interface and process them. It does not forward packets in the traditional > sense. However, I do need to process them at full line rate and > therefore need more than one core. The packets can be somewhat > generic in nature and > can be nearly identical (especially at the beginning of the packet). > I've used the rxonly function of testpmd as a model. > > I've run into problems in processing a full line rate of data since > the nature of the data causes all the data to be presented to only one co= re. I > get a large percentage of dropped packets (shows up as Rx-Errors in > "port > stats") because of this. I've tried modifying the data so that > packets have different UDP ports and that seems to work when I use > --rss-udp > > My questions are: > 1) Is there a way to configure RSS so that it alternates packets to > all configured cores regardless of the packet data? > > 2) Where is the best place to learn more about RSS and how to > configure it? I have not found much in the DPDK documentation. > > Thanks for the help, > - Mike =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D Please refer to http://www.aricent.com/legal/email_disclaimer.html for important disclosures regarding this electronic communication. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D