From patchwork Mon Aug 14 16:10:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 27581 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 962678C7E; Mon, 14 Aug 2017 18:12:19 +0200 (CEST) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0050.outbound.protection.outlook.com [104.47.32.50]) by dpdk.org (Postfix) with ESMTP id 7B5CE8C7E for ; Mon, 14 Aug 2017 18:12:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=WNeCvNNEJLDphsLP2KS2I6+fUZ5u9DmAbQ113pLCHLk=; b=Nc+3ARbgj3baEeTvCPlK1q/3rKYHQLzyMmeIKVFqH6KPzSA9RfTWXKjSfeYCoNvH+vgOEbFR0SaOaoaLvuBhUcs8+s2Y5Qb72/i0ZPMveDRL/hM57km04W0BUoVV/OgFQNkEPzikRfyVCPmQOzAnZ5XVsOLhaqBl+DyvmQAoGCc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from localhost.localdomain (14.140.2.178) by CY4PR07MB3093.namprd07.prod.outlook.com (10.172.115.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1341.21; Mon, 14 Aug 2017 16:12:11 +0000 From: Santosh Shukla To: dev@dpdk.org Cc: olivier.matz@6wind.com, thomas@monjalon.net, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, maxime.coquelin@redhat.com, sergio.gonzalez.monroy@intel.com, bruce.richardson@intel.com, shreyansh.jain@nxp.com, gaetan.rivet@6wind.com, anatoly.burakov@intel.com, stephen@networkplumber.org, Santosh Shukla Date: Mon, 14 Aug 2017 21:40:48 +0530 Message-Id: <20170814161059.6684-2-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170814161059.6684-1-santosh.shukla@caviumnetworks.com> References: <20170724084004.25542-1-santosh.shukla@caviumnetworks.com> <20170814161059.6684-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: PN1PR01CA0087.INDPRD01.PROD.OUTLOOK.COM (10.174.144.155) To CY4PR07MB3093.namprd07.prod.outlook.com (10.172.115.7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9364d222-3d15-4267-eb63-08d4e32f3b51 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY4PR07MB3093; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 3:WfTHxID3yAb3/ZasevwUvrdUdgC+aWXvtV38CaBPegDkbLjY+EC6F04cfvCDwnIFDiji/5GCR4JrH9GqyINzqYZ64vDGpDGO06wwj8YKkqn1ker4HvhlE8aEhV+unr4yqt+0DOJKHl1kVlP4Yea5s/fCzHCv8SoLHXCXQl1DsSipS3h5G1O332A9pGbTPQRyQ9z1r1xLTetbt8tm5fjQHNzpx2dn1hmuLgFMz0XogfLoGbBpK8q/WQi20vXwKqZz; 25:0S60ia0LqNqjX6ZdrymrUvEdv0F7p7jhpmu+rWZMR5zBZ/9P7MC/0SoBYST8rwbI5OO5YMvWS07/Ix6aSNF3fHJxXCXyFa06PfnTvHAT5ymqrtNzSmLpzdVG/HI99xeoGQsla1MJX/AaJR3JypYMc44xznmq4MFmW8MibkPvrmhXYeBxX28vfSWNywq1pSHpg86KyM0og1lIy0FlK+BingQnVT5o09/z9r9+R8Ys5e7sw4LWIbRW4yEz025WFsBRI42rZWLGzqo8O7lHD8j/CJsXOqDVWo256mb8g0h1Csfbot+qt1vrxJsLyPh8Cp9bX6+yKx9JU7rgF90uHVrpgQ==; 31:lnP45lNNho+EyeLZ3CjnnRs9ScTsXf9SDHGqAfBhu1oO2/8mFly7edn98TpvCt04qpPl5IQVKI6zkqnACreAgirhDCgUNd0iSFpJcGcAOS/mgaQs5jFPhBx2L9VDAfdq4IHifFAHb0c9GYqCHbdKgqA1Fv/S4UBLkTRe0x6eoI+dwjNktqpf/fOf9TujAvdgS4qL4Hkj2rURsNo1Di5bPWnvI8PFBxvesSjYlwUex0s= X-MS-TrafficTypeDiagnostic: CY4PR07MB3093: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 20:JADQqrIKNih/38W/8l8c8ILbacD6j64wfwrMspwdktbB4O8QPaTiPlnHqu9Pcs8hyTqUfee0tWxnsGUjYPj6GjcpU5DoTaWeDkf+eOy206XJmOAhKL/DzVdpBHnJ/Etf6QJToshr2zPKSUOHT6MWSU2zdPXCG/IuiNqvXk/S6IFoWfNZbpT/IOgWxkAnBROkRVE8pEjk+E1veLuEWAkLi6XNjHHOlf3jPylmaMWvlc6sEvpvXQZ7CIwLeJLHkGsexPCfVnBcsAzU6kF09qfLR66/ALgAyX0gWmjN8TWgekO8RKJdaPpfX8GWsGyPQodZSF32CnXcLziu0Nr3mFkGRJPu8g4Xslrh5rr2/24auT7fUHUMW6Gzcg+VBphoSndSHRL8Pl2dI0fBybKLmwX0PK2EsoYqTcqvc1ocMbYjjfHDv9eqbBwqzLC1hjmbvVYEvknObrHavNEMdFs39OeVyFPh7FyJnWvCWKNi2I39mEC2N34EbPjvQ3BVuMOcRkYiKInDEPoksWk9eKGL2qkfrG/izmfev99/UR6xgX7K/KE41TXttAJ4+tRcMGj/UPlQEbDKjTBGi/9SJ+mnApvHeLE/bXdXqNsA/XzRwqt4Hq8=; 4:awERbboCWKpbX9cvk7V1pJOBYX3TjGmSX94P3LUF3dZI58cQ4QnuqXXE+lYJPzy7OieknJksR0j0ZeOI3QneXP+4bPdz52umpwBxKkbBRRox/FXxWZI48SQrX4jACH2CtdOz7p2Lwlj2WGQje6FENE0P1TmWuLFzz4PUBFdoxazicQgrG/rMoWuYMpF9sI/hM72mZ82S12pR9H+vmYaSCPiegLJ+uOAlMWX0KmVglUuwD4o+1hDA1kcfBOK/YPfG X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(20161123562025)(20161123560025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR07MB3093; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR07MB3093; X-Forefront-PRVS: 039975700A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6069001)(6009001)(189002)(199003)(76176999)(101416001)(1076002)(50986999)(8656003)(6116002)(66066001)(72206003)(7350300001)(5009440100003)(3846002)(107886003)(47776003)(110136004)(2361001)(8676002)(42186005)(6486002)(50466002)(48376002)(105586002)(106356001)(189998001)(4326008)(6506006)(5660300001)(2351001)(25786009)(6512007)(81156014)(478600001)(36756003)(33646002)(7416002)(5003940100001)(7736002)(305945005)(68736007)(97736004)(6666003)(50226002)(6916009)(42882006)(2906002)(2950100002)(81166006)(53936002)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3093; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3093; 23:rL8S0NyXOsC3/0JqIYXMLyRB9+TUZL9fOYrZcAdzm?= xR5xvwDwtBf1bqPQ9B5itER466ZiGyUIlIzcWEgiXqs019o0u9No3FrGD/eKHvSAtRvhs1Tuxd8et/WTwyG6AGZ4dVWMG1x03OwHtPrAqQmguz3LsryQO/7FsJto0gOJqX7G564jnGG2pACcFyLtiPP7wOOGu3xcnhXMp91vGE1fkqCplIiLkuhLr7vZVrCN6Db7fDYLEFtO2lg3M7m8EZUH2QvSuG3iIwY4CoAIt52V8YqeYtq3UJwk29poAoEuDI2HsHUwLQe/nl4M6+MNLWj2V3SMBtBpiAWxfPnfajDFkQ2+Apfw5mWOqWUKrr8RfgB41k+ouvGCBNqenytJAHRYNcDDZ4w7Dy40AF1iraSBN3goHwP75kzRiYr4+tkXS9Z6zbSoilJYKk5m1OmwEFRqudNcq0743iqqj3qZYVPYdBT/mH2l39B49s/7pZFFiI12PdNj3f8jupPaFfBeVKuoSq0QJKmiGAaRh+w3kPtHpe/k7YXSANUIpn89CYgGOBFNbMn5KDipmegIatLg0KZ3gGvK/9i/5zqqzFBiQC+Ex5io+ftGI2mX8U44oewN2nZg3pj82YeklOeKmtDr4qRZh16XyysEvjoUIN0BfCg+yg0iF4Xld+J4ngAQS0ssrqFs7XSS/tvF1/qfpwooc8ogAbPiw33JZP+OOi4YMdEZbT0T8IpY2uGld3d80eaGnW27pQsAZ30tHyUJlvVj4KPnd5+/nh6VSrqmHBrq5O4EmXOe6bxErFHctAZbEVi+/4+0yREg91GToRsh92xxZTe36OAEJq3y6kbf07pIWMXtyAUQBN46Wy2jaYXVuSlDT5FLQnwCz0EjnAjugYmeGDoFHF/GjRqqQTOTgiXB8drmwGUo237rhI2O+mECJsAB6qlPQ5Pik9ALRLGhjsMEv+CtMCp+Oc4WpJFCfaZYKEoXKcKkbZTJ/s0aUKheAk4eu9EtgcH6FsfxX4FpYMi/We1rD5uBDrVp+CvX4mU12+0a4ZdZaVCprVSTBat873O6wKIZd0hg6aO6YTTOhPBIzq4sgv7KDJDqZOYzFNBWYSS6U49rHtgfR7MhTSnavYiuLs1LTw+yBpU3eHH/eokDO788qEhPsAhT1ARSR7jnx3debtoKvsCGKpRxGgSd+Wq+gpwayneZeiD1P9Ioh2xGWlvTOQ65GRh8Op9J6em6i8EMbkVm9BzllihrHjkB9cOkVZKm6uF/Crnda+8zc3a9x38Fxutqtq72uizjQDmK+RLCQ== X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 6:3IVJBkJJCHufhSMdtU5Jb59VRk6mtuJ34Mpu/7TgnJX53yvBcy2XTDq7ZQv4X9ZmtEJoKPgarCUvfaT/NS4bD+PX0zcKbOFV/nUA0nJC2gVauTYHuhDLzyRiwHZpsH4m5PNmsIT7mEFmIK4iS9FIDiA3II/gZf80V0P48q9mnNos1b6jh+Q1P/C4SkrtbJGeiRuovc+NE8JkYR3H47EzcumL5XS8byz/r2Bh73I/r44lA7w1BWVOhUv/AGg5UDYvcd0GvmexVlEPzVeBq+qsLy+MsZpLTYB8dUcygYbEFa5jJ2k4a3okWejeP8DjgWQ4iW+OXrMiUNW61f/QO6dqVQ==; 5:z4SbGBn2oZ2RLuwzQwdsf8YFKky3x9+ROhJW+3eUVT/tf8gyZIK5f5Jr1i2NL9VkoN8uQQUCHuHicWsAhD5IFH/eztg/vVkHVuhPQxgQ05Kp4qnKU82tk2D5a+vN6LfdVs9fzLD68d2d0gxqatH0ng==; 24:vYKhZJk7uIVcPW9kiGeaWNqtRC0dxO6/JvKIc8BbLe05Yx9rt8zCSoKn+RkmxUwAGYN5j3LQxgtTi9RAcuULo68KaE9ttGIjIOuF6OYqDWg=; 7:1/sPvsOnrPFDF5EviQd/lqgZiehyi4wdTvqCH10vwVB2LVADv9TQeapUaFDUtLcCmBm9j7i83aYbJfiPr0Cfx78k8Y+gAOQIsdmTJ/Vy//8oJM0JYJNhk1Vijk/tF+JpgNxjJGakkXxH8h2Vq62op4xatuc2XcMwuT4ZqQlEl0PxEtobpIYkekFTy+0evk8Z8b+EndKFwf0OKyITq3B2SF5QYwTL1WaBV1WClP3ySWQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2017 16:12:11.3649 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3093 Subject: [dpdk-dev] [PATCH v6 01/12] eal/pci: introduce PCI driver iova as va flag X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Introducing RTE_PCI_DRV_IOVA_AS_VA flag. Flag used when driver needs to operate in iova=va mode. Why driver need iova=va mapping? On NPU style co-processors like Octeontx, the buffer recycling has been done in HW, unlike SW model. Here is the data flow: 1) On control path, Fill the HW mempool with buffers(iova as pa address) 2) on rx_burst, HW gives you IOVA address(iova as pa address) 3) As application expects VA to operate on it, rx_burst() needs to convert to _va from _pa. Which is very expensive. Instead of that if iova as va mapping, we can avoid the cost of converting with help of IOMMU/SMMU. Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob Reviewed-by: Maxime Coquelin --- lib/librte_eal/common/include/rte_pci.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h index 8b123391c..743392f91 100644 --- a/lib/librte_eal/common/include/rte_pci.h +++ b/lib/librte_eal/common/include/rte_pci.h @@ -202,6 +202,8 @@ struct rte_pci_bus { #define RTE_PCI_DRV_INTR_RMV 0x0010 /** Device driver needs to keep mapped resources if unsupported dev detected */ #define RTE_PCI_DRV_KEEP_MAPPED_RES 0x0020 +/** Device driver supports iova as va */ +#define RTE_PCI_DRV_IOVA_AS_VA 0X0040 /** * A structure describing a PCI mapping.