From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-x22e.google.com (mail-ie0-x22e.google.com [IPv6:2607:f8b0:4001:c03::22e]) by dpdk.org (Postfix) with ESMTP id 21854156 for ; Wed, 16 Oct 2013 14:17:45 +0200 (CEST) Received: by mail-ie0-f174.google.com with SMTP id qd12so1051787ieb.19 for ; Wed, 16 Oct 2013 05:18:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=UtJGMkFeXTpBS5kkRnweZzL6Pnqdd41gx6abpIUfr5M=; b=VKi0FbiWceFiH3g8nWy+rJhLwwA1wxFLEApz6JzpeUhbR2PSuXHtjMDimmNuscg68B UJ9AAlnl1oCJw7nIkOLnCqJC4gwre/Y04U+WIk0A+fZ+KWScW20pt1yNfS2hoaakk6td RYHa4q2uWNHFNpuK7eN3Gzwkavuy8PisGOY5QUfdQSvchAizaSw2sLSH2hNtVYBo8RI6 iaeaJRab5jEWqKWpfZeQhjlqgjLt0D3w1G/2WRlgtrASNbK4Sq88WC4EU/hmBHE7CBUW INTWF7PtFUhGMQ6KM39PFg0wDkh4g2o9eoPtCc+J/YGq+467ffNoX2DXpmIVUE2tB8Og brRg== MIME-Version: 1.0 X-Received: by 10.50.111.48 with SMTP id if16mr1905633igb.23.1381925911557; Wed, 16 Oct 2013 05:18:31 -0700 (PDT) Received: by 10.42.67.205 with HTTP; Wed, 16 Oct 2013 05:18:31 -0700 (PDT) Date: Wed, 16 Oct 2013 15:18:31 +0300 Message-ID: From: jigsaw To: "dev@dpdk.org" Content-Type: text/plain; charset=ISO-8859-1 Subject: [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: Wed, 16 Oct 2013 12:17:45 -0000 Hi, I am doing experiments with SR-IOV + passthrough on 82599. My expectation is to have VT on and DCB off, under which configuration, the total 128 TX queues will be split into 32 pools, each has 4 queues. With latest driver ixgbe-3.18.7, PF can be set with 16 pools, each has 4 queues with these params: insmod ./ixgbe.ko MQ=1 max_vfs=8 RSS=8 VMDQ=16 I tried with VMDQ=32 with a panic. Also, it seems that if RSS is set to 4, the PF driver will set RSS to 2 somehow. Since I'm fine with 16 pools + 4 queues, I'm not going to investigate (at this moment) why PF doesn't work as expected. Next step is then to try DPDK in guest OS, which get one VF by passthrough. Not surprisingly, DPDK says that number of TX queue is 1. This is because the value is set arbitrarily in ixgbe_init_ops_vf of ixgbe_vf.c, and it never gets updated. Actually the mbox API has support for requesting Tx/Rx queue numbers from VF. See implementation of routine ixgbevf_get_queues and ixgbevf_negotiate_api_version. However, it is not straightforward to use these 2 routines to fetch Tx/Rx queue number, coz the PF driver is not ready to be used without modification. See ixgbe_get_vf_queues of ixgbe_sriov.c in ixgbe-3.18.7. The PF will always answer with 1 for Tx/Rx queue number requests, regardless of current config. 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. But the question is, is this enough? Before doing any experiments I wonder whether anybody has come across same problem as I do, and if there's any implementation ongoing. thx & rgds, -Qinglai