From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0076.outbound.protection.outlook.com [104.47.36.76]) by dpdk.org (Postfix) with ESMTP id A26BA5598 for ; Thu, 1 Dec 2016 23:03:48 +0100 (CET) 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=p5K7VtW22D3mmEBOcE3sEYWj7OggezzKH6CsbM35/2k=; b=VKbDXgqvGvgApwOI+HKpqRatfiSus7JFR/TC5bQR6u3BgDLNVGm1lm9g0hyBEA4iiC0LIAlSyvJexHTXhYf3MOvKmchH3AFLXFwpAxKuVbkSY98LeA2I++Fn7IdhBj+lTIMTvhqyMDoMxh6lj8o2smFaQtsOriVjtun4rleWO9E= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from svelivela-lt.caveonetworks.com (50.233.148.156) by CY1PR0701MB1728.namprd07.prod.outlook.com (10.163.21.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.693.12; Thu, 1 Dec 2016 22:03:43 +0000 Date: Fri, 2 Dec 2016 03:33:31 +0530 From: Jerin Jacob To: Thomas Monjalon CC: Adrien Mazarguil , "Ananyev, Konstantin" , , Rahul Lakkireddy , Stephen Hurd , Jan Medala , Jakub Palider , John Daley , Alejandro Lucero , Harish Patil , Rasesh Mody , Yuanhan Liu , Yong Wang , "Kulasek, TomaszX" , Message-ID: <20161201220330.GA11176@svelivela-lt.caveonetworks.com> References: <1477486575-25148-1-git-send-email-tomaszx.kulasek@intel.com> <2601191342CEEE43887BDE71AB9772583F0E20C8@irsmsx105.ger.corp.intel.com> <20161201071518.GG10340@6wind.com> <4746171.WvdnAfCX13@xps13> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <4746171.WvdnAfCX13@xps13> User-Agent: Mutt/1.7.1 (2016-10-04) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: SN2PR10CA0036.namprd10.prod.outlook.com (10.160.12.174) To CY1PR0701MB1728.namprd07.prod.outlook.com (10.163.21.142) X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1728; 2:7mMT2kc4OXa7xEnYHHndgVKEP1Zabpm69Vbl5YFt7h2MioeIQ1xcccRA1uWrsTdqx6jz/x1CP8v1XVLxfa1x+KHEcr+niP46IVDta1ccoRbJW5g+tI/zMs5YNP8riMHDgTZBrCijSHW8blKmZmj97EfK6kr6kDQ6Cr2BRsgck+o=; 3:IugeA+104ugBgKcP7T5weogoUvfGWod3Ta6R+xdbGWX0gyFrah+cuzHxZq/hh+lJaYpbIuzlURAMEbBp8fyuFid8qrEFvLiFGTzlPpAlFLDrC2zBmp/bmJWM8ZTBjlVbI1k7Cium0wlEYm+RVhstuSKPfSKoRPTm++PHs29NbFk= X-MS-Office365-Filtering-Correlation-Id: d302dceb-b710-4c75-c414-08d41a35eb26 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:CY1PR0701MB1728; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1728; 25:V23N1coFXoptZw8XKY6Y4K9A2rPc18odece9NXbfevkmcqahuj4eEQdn/O+qGEfQ2bz7e4ixIG2iSXiCWRYOCwN6SBiidv0QT3RAS+jYmxS7cDm01EJoVcFOOCZit6nY20LWPP3UpC5EjuBoTaqqjKiGz6MtIueL1VNdC8GaLRaPGnwKyRWGBGWO4F377w4pQqjR2irqVhsK8I8RBn9zmprvmsDOE9uYZtB4ZDwrIeytcWOmJiqgNFGUsnUY8OLWt3DjYusjNmjTiD15bOt6IhQxWpGdZSqOVfarSOec2mNwBDRqZ14B2JO+pxu2NZfi6+2SWO54jfSVzLahfRzHBvePjR69RxPNQ4PFOV52a6XJs2OM9yiSa1xVn3v29b3EF1Q8Tmn0BF+Dxx0cRsge6WqkhdDV1MrVDvQpocSUy+qgPeytW2XWJExoygaX7+FrlrCpcaL77guRPpFXUl3YS+4IDGjSwHlPQGJfmBsay2ls3wWD0RXFHvVjLo3sM/W2lNl9KaBxFnPJqwQfft7wn7WegklApgdyTZYzoROY4A8OSE3svya4Dh4zq056rwpXJju9GMFeWo9CtYCbFCRWLzL7FO1YVDr6tO2Tz7YBVugk4MEqm+oM/mUBM7b0wJoJ3pGUmuAQIzUb2WUVNsHIBjtKvN/VO4aH+1C2EGZwhkSiyXtJO6hhaAgH9ATEMX/vucNtijiHi9px7bWYtYpnX96Zj3uxjyyNv01YyN6DXvHFakNlhiMc6z6Gk/qqs6DBe0f2waSR4vOfx00jzF6ITK9N8PvXUr8Tf+htyd0KPgQ= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1728; 31:bPj+mCAyg7zA64MQok7SXDrDOQBqG5lKKf29XbmstIjw0iAM6BsOqFh1jHqE3NSPsefXQ5VfiHcycfwo/j4Nuj2GUJmVo3xRYNUj44dBeKYRGBFA0vT/l6cxdzk4sTCEV/kTSGFGyNN/NUHohWrh8B8xpRAU+UD42AnT0t3EUChrWqdGNECfuHyhx1Gx/pWNLk+/NN/Qrpr2CLh3Rf6qlb36jN/L8Ip8TrgiCKZT0bnSe3ZkjzVkqMT6tnwZS2Qd8tacV2VonyOrfBEKeE1ADw==; 20:3cjUVIxmODSXXn9JbpbQO1hmwpR44slhl9blrXS8+4i2NXNR5tdGpEomnKCrXvtSLUXBBB0KIc8whoyzX0XY7ZicZJ373u/MjyXpn/rl1Lmkb9SHO7e7LbYQeUKOrd2FpQ8K1jWFn+rwILsx4+BVmmIZgPZpUWJXm5HF2VXKdlN2t5+Uezjh8Bgbzbno7/B59q/dUv0IiIoAXaneE8hbd+QUuE/aCIaSG0LWY0UqbbQom8SqQymQ+GluN8gNYT4MTGqNBryqHZ/R1GUgGrk2NEHydpBry19vpjmhupSM5hBwzc9+E+AFGrDiCbobMdCCESRsyhUlZ+IHflvJRCaubZMXcP5JMdnxliVAm0gpWOVXaPlhSY4/1uoCfbvENMUN73Zf2PvijNr26TevUJWLm4++26GQSWO0Jk+GVapjNI7i6GwMWb6GxvBdXiQQ3l9P02qUF+4B0Tqc7kfPrxJ5DPW9cAu6sa4EsRvfRna8slBo1rWzJ0oAi8savNw64GiheGUos8JCIWjaR2WMBr1QRunncsoEYXMa/OqKdbxYHZc3nQVJMoCm0ElY18ZBZSjrd0TZB/bYUpmLnY+dBjvOKoBqtdfO881Y6veDQh3Jk8M= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148); SRVR:CY1PR0701MB1728; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1728; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1728; 4:UN401SHzurEd8RNzROcaDfCk7ScUKL4PS9DZTUxljOjw0f0GHISLx09Xl0Ae60VMv9WxvWqe58lGzfbVq0Yb+f6ZG3906O0nttpxeAUawzrb13hlasWrRQjG9dN+s3LbvUaXYY5aCtFzSV6HDGb2urKM0Z3N/Zyxln0cdAdzkKB7ocNcMVfzCoY2KqTqgEBswwYn0TRY8tUms+QRkcAgCjdUL8mms31fi3P2G9j/euYf/jSYrSesdyZV2MdAEvZj9bP0L39yGH/q1uffaQhhFYT1VUcngblz/eF9hmSHj09Yf8p56fh3VSRXMw8xEt0OCmnPMXCV5vxLWEwuMWrVQHqxydhEsPHgsx70CUZCB+lo9YdL4luzTKoLvBmUdqh0xvzNl6jZTjIj0v/0IdSscKAF5s4Iv9mN2vREJ0Xiyjxcf6gE02t/XyN5YRtE+pnkgytpD7KYce6HR9YUmURH1CMaPWnAaIQCHtLEV8bV/WDOgQNA3y8+9KaXPisKngIfVQ7Jxc5wYCcVFU0TIhv9BiIJE6cmsiPCK6j7kHCv4lAPMNf+4kGWUnMJ/SocgLUiUBLnxO7xVVzZg1yRqbR+An9PUt6g1N4Mph8l9io8Y8b2jE/DDdOexh5f5HBHwAe9 X-Forefront-PRVS: 014304E855 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(979002)(6009001)(7916002)(199003)(189002)(377424004)(51444003)(24454002)(4326007)(50466002)(47776003)(110136003)(2906002)(106356001)(66066001)(76176999)(5660300001)(81156014)(7846002)(68736007)(53416004)(7416002)(6666003)(7736002)(50986999)(105586002)(97736004)(229853002)(39410400001)(83506001)(54356999)(9686002)(46406003)(69596002)(2950100002)(6506004)(81166006)(8676002)(189998001)(42186005)(23726003)(92566002)(6916009)(93886004)(39450400002)(97756001)(305945005)(42882006)(1076002)(4001350100001)(33656002)(3846002)(6116002)(39060400001)(38730400001)(101416001)(733004)(18370500001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1728; H:svelivela-lt.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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; CY1PR0701MB1728; 23:1eGLfmc5+aurIJQO+3Vlq8VdoJ+D4JKK6yJCb5X?= =?us-ascii?Q?N3ASDa1CCVJ6p8Zu3CueyQUXvFzvjAfmUPi/dan7nUGaLe9kKU8q83qtWp9z?= =?us-ascii?Q?MXF4XBrzk7wU36Vb239fKEOH6a3bck+9SJP/5QKaTmG1vvXEuZBvPpPaoXuL?= =?us-ascii?Q?XQCDEE/xyymdBMA/1fkPe+bZnerj2AEpDGSmUP8Ie/pStb71DBDFNeOUERMa?= =?us-ascii?Q?XTfm8nzK0UNC4ezc0wxd0uEfM1/PHaNsziQ0HPrj5ma0d8jsTzq1faZ7dl4N?= =?us-ascii?Q?AflbNPpLNq9lWE+VOEKdlZV4BcXEUxiauCAVBVjFk7NWrAGeZAS6kSH6QyHQ?= =?us-ascii?Q?NjiMcqf7Ry+sgvvBvQuEaD/knidsXVfbBo0X/yW2NfDrGNFyGamJ/F4zs+79?= =?us-ascii?Q?vg3q22vDkysZ/zVWVUgAKXKfS55U+J0ZFJQVBAjtvkYV2U8gFqttgTJtu+De?= =?us-ascii?Q?mVDkfhCB+k+0BwxIhCJoBLlx3Beo4zZ675afv2wDZgj/8AOZLSonoh9+GhiF?= =?us-ascii?Q?t6lziKThTaMnHfMZjJsGzvREEW+2otZhXcd90/7BmYQsCOJbGWd0OVDR1GHK?= =?us-ascii?Q?eWo5MRqSO4FyeV+a+QWAZua2ualGCMvQnLeZsEy2u0bIKUmHpQpf4GLO2HfI?= =?us-ascii?Q?71xWtaGIBUNeONIJiOalXxDs9Cb8VfNqmTlpxpEx2t/9XMAif3fkRTfgglrk?= =?us-ascii?Q?sRDh3ku6DELUbs9JTGmxyFIMe4pnB/b5OiHjeGN6KEXytn/dXCaLQyPou6N7?= =?us-ascii?Q?38fhgnluEgMwwK1lAa1SxVKdlG+919HlBRTuDJ8GJ5XvANTyFMOfYHKePa6o?= =?us-ascii?Q?nRPEYKs3X/nBiGNCJ289NKDBb5+8EvxpFn907bEpg8WOoKGwYCsbDRZbzTS/?= =?us-ascii?Q?v6zAxU2W1awXtTAnPNzPS03kx2UG/eScXTQ/B4TFAAiQ9jvj0JJ3XlrVJHcU?= =?us-ascii?Q?AHWZ4QYekHurqP10ssOAVgwvFdTOFLuDzCfMB2jWkkgVerOSEqu9XFXlGwmR?= =?us-ascii?Q?VDZf8Ff3ytMyoVlITVtgrFlsHGeSURtVVKMckL/OQUs57p3hgjLCPgDlj47f?= =?us-ascii?Q?DyRD6mD0bo29XoHIj+dlXcWl6Y+C27kZygfs5O4sDy8RcWxVjexGKu4kCw2Y?= =?us-ascii?Q?nPvZ9wjF84owJ2avcsewo+4lVqaAEjutscYGtyAPFAHql/lb3HtW9hJ4SSOm?= =?us-ascii?Q?LOHqmrKVP7d2l8/xx7YJlI/M16cpWHGV+UE8DcvO2S4SrSrwpFXDgNjopT4H?= =?us-ascii?Q?OsuIvU3oPCJHMxH/npE3Up9grbav6+D21V/xRGBbiR6O3Jvvdue8Exojb9q5?= =?us-ascii?Q?TYcex7nSIbPQ4kFhRqI6AZZabdnKILlQp+Ciu3UHlMX4j2DQPutt+GhheDBg?= =?us-ascii?Q?BmELRb6syBfCscATA60Jkp/Zo0AYaAK+RfKc7/kt/C8SeYYxyDJu68GyOSeK?= =?us-ascii?Q?05UpE4JXzWXMH5uLw0jmJPKLiOvwbji9LMJo6Zh0Tll7WMIkC94acgr59GNQ?= =?us-ascii?Q?asDR0SEBood959t+YoBT9zLTZE5sF2fc6V2uUkfJthrJ01ArD0OjqUvFF?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1728; 6:R4u8bh7e3q67P/5WwQCMeyGDVXrfkOcMOdX3ghW3U7Q+301+cKhrgmqGUna9HnDqUs2NEaAUt8ALxYIf60u/HQDCWsACmXncCa7ZMoD7I0FPbsAaSO+bXx0FCklbwxaesCoXAQGPA+PSgiTuSUJ5FYHOmvVqtC2CsDZlXOdrrJHr5PJpW/DWXzH+AUTKFY8vuUJX8TlrPBwWGoG2BPNBHCAasDx/tLhROmSSlniZ0X+zl6aG3junBrwxIj8Pg0GIBT1faRw3cfyhU6pWtAWBRyu2FSTAdPvTnLs3Cph4xAlIlx0P9tp7OwjIay8QYo4HZfvVzOF8yIozn5TzR50+YPgBcm3ZQr3Q4BM7s2SSbjc=; 5:uMBGv8SOtOg2SZcD7l+EMiIlZdwR9DvfZB/2V7n7aNzuSWiw8R5Zs7QS1k6iDYGrxFVi+r+oSe1VI4OIPktKQhdH84PUoQVr/qd/8jx0SMETJ3NAbQ7abZCh5hi4zGyZuDzcQVYcfFZb9rvngbrA7Q==; 24:n/t7NKYBeag40UN2HGaQ8k5aK1T3LzIP1G/uFViOODyaPFnOLuZAphWJNDR7ME89HDHnwjLLxVXYvKZyJh5hZeN6tdmuHRexNi6vWO+cBBM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1728; 7:r1idcYyOKv7dN/oFyTZSCko7UDY8zmmRbaSr7SafwpRm22wChMB04HVegXxmK236LM6ijSJPkUuvUJ/b+zA5pCizwdxhTl2UDhJWwYdeCjSLCP3jdoJ8JStLccRrTWy545vV7kJ0woIRdo+jGFCu2VMjm22cWOAPakntUjqsIrkbjZERfelb9/eJoG1p9UAgonZ+i7Alk/FHpyXrErsC4saHBhLBNNZh/EvSJ1vlLaVxEPLH8YnBhekYvSD4+qNYRnZkWlnsO3I+mH00f/kswQ6htC/bKC1A0G4RSdvbkSfiFqrRfgL+wAePM7UCgECKOjuvRniecuDkVVOK5WLMfDXEwtkOPQZpqEwMW4xxua4= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2016 22:03:43.1388 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1728 Subject: Re: [dpdk-dev] [PATCH v12 0/6] add Tx preparation 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: , X-List-Received-Date: Thu, 01 Dec 2016 22:03:49 -0000 On Thu, Dec 01, 2016 at 09:58:31AM +0100, Thomas Monjalon wrote: > 2016-12-01 08:15, Adrien Mazarguil: > > I'm perhaps a bit pessimistic mind you, but I do not think tx_prepare() will > > remain optional for long. Sure, PMDs that do not implement it do not care, > > I'm focusing on applications, for which the performance impact of calling > > tx_prepare() followed by tx_burst() is higher than a single tx_burst() > > performing all the necessary preparation at once. > > I agree that tx_prepare() should become mandatory shortly. I agree. The tx_prepare has to be mandatory. Application will have no idea on how PMD drivers use this hook to fix up PMD tx side limitations. On other side, if it turns out to be mandatory, what real benefit it is going to have compared to existing scheme of just tx_burst. > > > [...] > > > > Following the same logic, why can't such a thing be made part of the TX > > > > burst function as well (through a direct call to rte_phdr_cksum_fix() > > > > whenever necessary). From an application standpoint, what are the advantages > > > > of having to: > > > > > > > > if (tx_prep()) // iterate and update mbufs as needed > > > > tx_burst(); // iterate and send > > > > > > > > Compared to: > > > > > > > > tx_burst(); // iterate, update as needed and send > > > > > > I think that was discussed extensively quite a lot previously here: > > > As Thomas already replied - main motivation is to allow user > > > to execute them on different stages of packet TX pipeline, > > > and probably on different cores. > > > I think that provides better flexibility to the user to when/where > > > do these preparations and hopefully would lead to better performance. > > > > And I agree, I think this use case is valid but does not warrant such a high > > penalty when your application does not need that much flexibility. Simple > > (yet conscious) applications need the highest performance. Complex ones as > > you described already suffer quite a bit from IPCs and won't mind a couple > > of extra CPU cycles right? > > > > Yes they will, therefore we need a method that satisfies both cases. > > > > As a possible solution, a special mbuf flag could be added to each mbuf > > having gone through tx_prepare(). That way, tx_burst() could skip some > > checks and things it would otherwise have done. > > I like this idea! >