From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-x231.google.com (mail-pd0-x231.google.com [IPv6:2607:f8b0:400e:c02::231]) by dpdk.org (Postfix) with ESMTP id 295439DE for ; Wed, 4 Dec 2013 21:47:31 +0100 (CET) Received: by mail-pd0-f177.google.com with SMTP id q10so23089307pdj.22 for ; Wed, 04 Dec 2013 12:48:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Ejc0lGEU5hNhIHz91k0uFYArYpaqY49WkynR0iDr2i4=; b=nbT2kJ9aBXx8rLn8aoNBd5LuttCDqYsbIVlYSEsU0OPd2fcNes+GZviTlgNM3If1Nq SJfVUB7kBRYM5maypaIF/ulb5WVT20WBZ7grv/4oVtjhGER6+Ov23pU+TE2niZb+iZ/h 8RXEO5GSfAFhtvW47AoKCh17GF2KZ8YqKAmYIDYQ1s05TbXaCorb1P7p0Z2VBjZTev4e C8rZmTDIt7chZ+AqAaPqns0yl9YZwubZOFG7YuBsfjJhjqqNSrSic6W00j9NwvHmNvBY sCexD//loubrhpcxigQ3StntMd4G9KWZS7Vh3fTvfnDyuaed1KEm+bA8bgm22Vo1asBN dFYQ== MIME-Version: 1.0 X-Received: by 10.66.216.193 with SMTP id os1mr85104842pac.29.1386190114198; Wed, 04 Dec 2013 12:48:34 -0800 (PST) Received: by 10.66.11.168 with HTTP; Wed, 4 Dec 2013 12:48:33 -0800 (PST) Received: by 10.66.11.168 with HTTP; Wed, 4 Dec 2013 12:48:33 -0800 (PST) In-Reply-To: References: Date: Wed, 4 Dec 2013 22:48:33 +0200 Message-ID: From: elevran To: Michael Quicquaro Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 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: Wed, 04 Dec 2013 20:47:32 -0000 Hi Michael, As far as I know, RSS is used to distribute packets between cores based on hashing the packets' initial bytes, so round robin distribution is not possible in hardware. You can configure the hash seed and which fields to use in the hash. If the input packets have same or very similar bytes, the hash distribution won't be good, as you had observed. The Intel network card manuals provide the details. You may want to consider distributing packets from the PMD queue into secondary rings/queues using software policy running on the first core. Look at the multiprocessor samples in the dpdk for reference. Performance depends on your HW. Regards, Etai =D7=91=D7=AA=D7=90=D7=A8=D7=99=D7=9A 4 =D7=91=D7=93=D7=A6=D7=9E 2013 19:53,= "Michael Quicquaro" =D7=9B=D7=AA=D7=91: > 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 tradition= al > sense. However, I do need to process them at full line rate and therefor= e > need more than one core. The packets can be somewhat generic in nature a= nd > can be nearly identical (especially at the beginning of the packet). I'v= e > 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 core. = 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 >