From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from jaguar.aricent.com (jaguar.aricent.com [180.151.2.24]) by dpdk.org (Postfix) with ESMTP id 472849DE for ; Thu, 5 Dec 2013 05:31:11 +0100 (CET) Received: from jaguar.aricent.com (localhost [127.0.0.1]) by postfix.imss71 (Postfix) with ESMTP id CA31A36B70; Thu, 5 Dec 2013 10:01:54 +0530 (IST) Received: from GUREXHT01.ASIAN.AD.ARICENT.COM (gurexht01.asian.ad.aricent.com [10.203.171.136]) by jaguar.aricent.com (Postfix) with ESMTP id B405236B5F; Thu, 5 Dec 2013 10:01:54 +0530 (IST) Received: from GUREXMB01.asian.ad.aricent.com ([10.203.171.132]) by GUREXHT01.ASIAN.AD.ARICENT.COM ([10.203.171.136]) with mapi; Thu, 5 Dec 2013 10:01:54 +0530 From: Prashant Upadhyaya To: =?iso-8859-1?Q?Fran=E7ois-Fr=E9d=E9ric_Ozog?= , 'Michael Quicquaro' Date: Thu, 5 Dec 2013 10:01:52 +0530 Thread-Topic: [dpdk-dev] generic load balancing Thread-Index: Ac7xGcFP0fjZAneLS1CzqJvDpM9TwAAGXtrQAA/LloA= Message-ID: References: <03f701cef134$7e564720$7b02d560$@com> In-Reply-To: <03f701cef134$7e564720$7b02d560$@com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-TM-AS-MML: No Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] generic load balancing X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Dec 2013 04:31:11 -0000 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@dpdk.org] On Behalf Of Fran=E7ois-Fr=E9d=E9ri= c Ozog Sent: Thursday, December 05, 2013 2:35 AM To: 'Michael Quicquaro' Cc: dev@dpdk.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@dpdk.org] De la part de Michael Quicquaro > Envoy=E9 : mercredi 4 d=E9cembre 2013 18:53 =C0 : dev@dpdk.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