From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-x22f.google.com (mail-ie0-x22f.google.com [IPv6:2607:f8b0:4001:c03::22f]) by dpdk.org (Postfix) with ESMTP id 820AC6896 for ; Thu, 17 Oct 2013 15:10:42 +0200 (CEST) Received: by mail-ie0-f175.google.com with SMTP id aq17so3690660iec.20 for ; Thu, 17 Oct 2013 06:11:29 -0700 (PDT) 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:content-transfer-encoding; bh=z3DUU3TI1xX0QXNpwZhxoQMmMR9cGwT8Kmv4RiALrVk=; b=Ddy15+mCV+17SVtwLiJ86yABYf7+7OhH319jJRzWmPH3hyNjUvQvqH3Hl75IcyMWue wD4StlN5C5vImYObz2Z1S1uKILebSKDXQDbnwz7xTmBYT9//37XI4YxEC9OtEs9wQaM3 MkSykimwOdGYoCzgA+E7ib6DKGy4rvVTmCIFX0e/BPBA4qGBLzVspNscyH/hAdXhqMKZ yQYENBG0fVjXgXQTvldzQ7+PNQU8fV97vJN8OrpfIdZE7yVVO2/t/Txh0oqtTkyciRiO ZPc9NwYl/WkYEqDyyWUZJArONOZqqmyny12MjHDTP7EoeoWdA2DaWW7egSH8tfX4gFWs xELA== MIME-Version: 1.0 X-Received: by 10.43.161.65 with SMTP id mf1mr361707icc.66.1382015489184; Thu, 17 Oct 2013 06:11:29 -0700 (PDT) Received: by 10.42.67.205 with HTTP; Thu, 17 Oct 2013 06:11:29 -0700 (PDT) In-Reply-To: References: <201310161458.55712.thomas.monjalon@6wind.com> Date: Thu, 17 Oct 2013 16:11:29 +0300 Message-ID: From: jigsaw To: Prashant Upadhyaya Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] 82599 SR-IOV with passthrough 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, 17 Oct 2013 13:10:42 -0000 Hi Prashant, The problem is that my patch has to be applied to ixgbe PF driver as well. I have no idea how to make it happen. So even DPDK accepts my patch, user won't benefit from it unless he patched ixgbe PF by himself. I also hate the fact that SRIOV cannot get more queues to VF. But there's a way out: to assign more than one VF to guest. thx & rgds, -ql On Thu, Oct 17, 2013 at 4:02 PM, Prashant Upadhyaya wrote: > Hi Qinglai, > > I would say that SRIOV is 'useless' if the VF gets only one queue. > At the heart of performance is to use one queue per core so that the the = tx and rx remain lockless. Locks 'destroy' performance. > So with one queue, if we want to remain lockless, that automatically mean= s that the usecase is restricted to one core, ergo useless for any usecase = worth its salt. > > It was courtesy your mail that I 'discovered' that DPDK has such a limit= ation. > > So I am all for this patch to go in DPDK. Good luck ! > > Regards > -Prashant > > > -----Original Message----- > From: jigsaw [mailto:jigsaw@gmail.com] > Sent: Thursday, October 17, 2013 6:14 PM > To: Prashant Upadhyaya > Cc: Thomas Monjalon; dev@dpdk.org > Subject: Re: [dpdk-dev] 82599 SR-IOV with passthrough > > Hi Prashant, > > I patched both Intel ixgbe PF driver and DPDK 1.5 VF driver, so that DPDK= gets 4 queues in one VF. It works fine with all 4 Tx queues. The only tric= k is to set proper mac address for all outgoing packets, which must be the = same mac as you set to the VF. This trick is described in the release note = of DPDK. > > I wonder whether it makes sense to push this patch to DPDK. Any comments? > > thx & > rgds, > -ql > > On Thu, Oct 17, 2013 at 2:55 PM, Prashant Upadhyaya wrote: >> Hi Qinglai, >> >> Why are you using the kernel driver at all. >> Use the DPDK driver to control the PF on the host. The guest would commu= nicate with the PF on host using mailbox as usual. >> Then the changes will be limited to DPDK, isn't it ? >> >> Regards >> -Prashant >> >> -----Original Message----- >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of jigsaw >> Sent: Wednesday, October 16, 2013 6:51 PM >> To: Thomas Monjalon >> Cc: dev@dpdk.org >> Subject: Re: [dpdk-dev] 82599 SR-IOV with passthrough >> >> Hi Thomas, >> >> Thanks for reply. >> >> The kernel has older version of PF than the one released on sf.net. So I= 'm checking the sf.net release. >> If the change is limited in DPDK then it is controllable. But now it aff= ects Intel's PF driver, I don't even know how to push the feature to Intel.= The driver on sf.net is a read-only repository, isn't it? It would be pain= ful to maintain another branch of 10G PF driver. >> Could Intel give some advice or hints here? >> >> thx & >> rgds, >> -Qinglai >> >> On Wed, Oct 16, 2013 at 3:58 PM, Thomas Monjalon wrote: >>> 16/10/2013 14:18, jigsaw : >>>> Therefore, to add support for multiple queues per VF, we have to at >>>> least fix the PF driver, then add support in DPDK's VF driver. >>> >>> You're right, Linux PF driver have to be updated to properly manage >>> multiple queues per VF. Then the guest can be tested with DPDK or >>> with Linux driver (ixgbe_vf). >>> >>> Note that there are 2 versions of Linux driver for ixgbe: kernel.org >>> and sourceforge.net (supporting many kernel versions). >>> >>> -- >>> Thomas >> >> >> >> >> =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 > > > > > =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