From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0078.outbound.protection.outlook.com [104.47.34.78]) by dpdk.org (Postfix) with ESMTP id 937E3A496 for ; Mon, 15 Jan 2018 15:49:38 +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=CoJ68gNtBxDahX3h8ed7n6NBaHTiJ9KwK6sI2cBSH0g=; b=RoKDGMPe095w0L3+168Hx4inbFTl0YN+97qEpzY3gPwkn7DrNJYMX2+31r4G0YECZ7x2dEvI8XjNZUcYKluqs2NrKwb+fy86PPgjYvB5WTBcIUNpOzmeXEVt+zzfr90XDVw+2sZax9SWXcQ59Yo4xWkubduEVwGK3D98NF6j1FU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Maciej.Czekaj@cavium.com; Received: from [10.0.0.58] (31.172.191.173) by MWHPR07MB2893.namprd07.prod.outlook.com (10.169.231.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Mon, 15 Jan 2018 14:49:34 +0000 To: Ferruh Yigit , dev@dpdk.org Cc: shahafs@mellanox.com, thomas@monjalon.net References: <1514985137-2653-1-git-send-email-maciej.czekaj@caviumnetworks.com> <5795a502-77cf-2b33-a723-bb7b43ec6d82@intel.com> From: Maciej Czekaj Message-ID: Date: Mon, 15 Jan 2018 15:49:24 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <5795a502-77cf-2b33-a723-bb7b43ec6d82@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Originating-IP: [31.172.191.173] X-ClientProxiedBy: AM5PR0202CA0021.eurprd02.prod.outlook.com (10.173.87.31) To MWHPR07MB2893.namprd07.prod.outlook.com (10.169.231.17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ac6bf1d5-b7a4-4e7a-8343-08d55c273233 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534125)(4602075)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:MWHPR07MB2893; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB2893; 3:uNapViZ1w2ap0fX36DNoc43elD6s91FOnMuyG4GNHc/uFtbc0gA794ZFFAZH8tBPyvyaGRJnJNBvzSH6nag7TLZDwGitktsWcJe3EdS/ZdDOYHjmDJFcL+CxvLt/L7DSUT4PoOLW0gzMgodC54DsiVKRzZoJjOHu+at0YNiV+Ij+2WGOLLaMS70rGIiJ0QqB90Qlmu3c4BMiowp9vg6ExVGhXbLkHAkTQpllEHX5RjzjBy/vd/W9NCKftueIlAeB; 25:NPCX7YB3aPFNN/nlyxkGn7nlHh2D2iJ46Jm980ANAHC9Ynrx3fdkyy5UP0wUJ4oqdA8Zb/OCrE/nJV0eB04vjlBaisAuy14wUJRNXgVgcNhlOTdkSA/VEHrNTxWqatvW+Lah/Fo19EhWRLWuYxBj9DAukhh9rfqhS3jcmEMXQeb3jKouEOlEszr7Y2GF9/4aIRI/JpvBEYYDGsK+BRziVks89JfCzPDDnMMkxlYl2uvpcLzQzKTmp+sFzxHnUT4lXECB5EnscaFeE9FFH8NW4t1F/1Y08rvi6zagbMrjB0nHsV8z3KgKb+jBX2JUleecKn1SacA+oNm1+5kYiN8XNA==; 31:LheaDsrya9XcY80l1k5f2miMCdu0juFgudKDNS5iCAnq9cchveBsAoCYufSagrgPBdqp76fRE8JajMMllt0CHCq2j2ukGwhjTno/jA+f/XLmgfdrtL1RKgsYbo1gccXQkgTpUmdQtiTJeGuDZaMWnmGJrTHMQbNu5QK22dnBcZcwVQVFSIBCv4zeJpsS81ii71DrQgDvcjHCOeCQo9pxf+VERezSUwTS63oS+h+c468= X-MS-TrafficTypeDiagnostic: MWHPR07MB2893: X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB2893; 20:S5CGg2WXDTzQcQzXTghEbYHKRfpJsmZ7g+CwEJoBljlNsZ8HQrqsuxFe51inkdZCxMzDUU7xdkVjpffG2J+EKhBLYE5CVpkSax8wdM1MG6FFMGw5oXS7WUFq6QAuN+4ZiMHFKVOtd0o3ogiJdaMExuk5Z0llEazFT9Rtrx35MC+5/+aBOZWy2s5rarOnQEFjv1+G1N9VjfFhvE7+wrKzK/Rm4J0jU7cMrVzRsdjnjw20LqguV9OutYhNKu4sb2MS0HqTRM3+yPP2AFL8kzkWEoMF9KHFFeSxa/XZmAfO0Gg0f16cVk6plYSVpzyIS3imnEhcFKVJS6OAxYaYXvNbFIRu2l181nFahljSufh3QK8bRN8gWGN96UbE5uWFuxUxYilI9Kt8/319LW+DX22acuuVDIBVoWxOL9Zll/fwNuCNj4MvS3cnuMBGo8g8No8nkm35LHnEA2P1nopd8J3w+MyZRPJonheBeksejSzPHWSToP8myCxPWFDYLnjlSC8l3ZsrqRCupfoQx3ZytCZPaJSySbkembCaHb8e/hhftL/+Mbvj8wS/DXvUk5PU3tnIRdHyHuNueT4uVe1IZOC1Gm13X2DegM9jf6WYBsYnxRQ=; 4:pLCJdo3if6IiMcZ7zepZ1PgHzqXZG6ZnQkBhm34LwAb0C1LutPZJpFC4iq1fwJLIS7+45dxk8uI4hin0Oe8voAdHnQCTsMkhe+AtYfF5F8AmFS9udWCUE7z7MkHQLdFgZb2FYw2lrdIiYhKYlCrn8T1LmQAR3/aarr/ggxPDks2cxYyZNnKKjoP/YXWhedGZ/IT3l2TL4zdA+ovvGFp1XlhEXxBMrGt3N6pzsOpz7QDoDoMktXLFvI7TeX+zOfjQ5MkPMrMU7Al6yCjaOlCXXg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(93006095)(10201501046)(3231023)(944501161)(3002001)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:MWHPR07MB2893; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:MWHPR07MB2893; X-Forefront-PRVS: 0553CBB77A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(39850400004)(376002)(396003)(39380400002)(366004)(346002)(24454002)(189003)(199004)(478600001)(2906002)(106356001)(2870700001)(105586002)(64126003)(6116002)(53546011)(3846002)(65806001)(47776003)(229853002)(72206003)(50466002)(25786009)(4326008)(66066001)(36756003)(65956001)(16576012)(58126008)(31686004)(6486002)(90366009)(77096006)(52146003)(6246003)(97736004)(68736007)(23676004)(76176011)(52116002)(81156014)(2950100002)(305945005)(65826007)(316002)(7736002)(59450400001)(8676002)(53936002)(5660300001)(16526018)(8936002)(42882006)(6666003)(31696002)(81166006)(2486003)(67846002)(83506002)(386003)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB2893; H:[10.0.0.58]; 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: =?utf-8?B?MTtNV0hQUjA3TUIyODkzOzIzOnRjRDFIZERLb3pDVi9oUmF5SXluQ3RyK2Iv?= =?utf-8?B?cUYwREtLSmt0VDkvazRzb05lS0tsT2ROMEFxQXY3UDNtRFVhTlk1blJXd0M0?= =?utf-8?B?ZkRWTExua3RLQWhsZlp3OEJ6MmtWdUpBQWlJZlp2RC9iYlBDQW45V3JEVnZ5?= =?utf-8?B?U0VUY2NrMmNQWGxyMzJjRzQxZ3JKcUYwVWpnMGhKZEZjamc4MVdJdGU0WWJp?= =?utf-8?B?M3dzTW9abHBCbFRqN3hCM2laazBjMVIyVXBDUk82QlNYNS9XSDRPOEh2dmMy?= =?utf-8?B?OVBHUkVpMzZ6TVM4a0VQWGplelVRUDBUMUhVVjBWdml5aTBpNkM3cERkVCtl?= =?utf-8?B?cEZFY3VaQVhDc2ZIQzhnS0hMbWF3UjBrcjVGZnZITy95bjhHOW9QVUR5c2Ru?= =?utf-8?B?VVRxbStrcjlFcHRPRmRqL1BHWjQ1SjlERFlKbjlwWjE1Mkc1YmlpY1kzMCtN?= =?utf-8?B?R1VONS85aFJrRzhMZDlJVWpzR1p6Z3d0NWlIQ0Y4QjJzdWhhb1NMZHhQRWVY?= =?utf-8?B?b0dHOVFUMm5rRVp5ZmR1c0FNUHpJVC9jNm5iZHg1WUp4T2FYb0FKbHZIVGor?= =?utf-8?B?R3BlRmJ6a1dUY2tSSHZTOEVWNCt4RDRVQjRmK2pzYUZsWWcySU1rWG1Gd2N2?= =?utf-8?B?cXZmRVVRb21QNGgxUTRxTzV0cGtjM1k4WVRFdjg5QlAyYnZpY0RkdC8xbnFO?= =?utf-8?B?enFNS0hmQjlMWThUYWxPSGRtM2VMVWlEUlExTWJLZ2RKRFRWc3crQ1VGQU1G?= =?utf-8?B?dy9aYUo4UWp0UUxmSWlWU3dUZUFtUytGcXRKNDZlWHZlN29GVTUvRmFnZTFC?= =?utf-8?B?VUl2SVdDNEZLSkNUeGxvbm00OGd1aTk1bzVtdytFcDN3RWFzRUpuVGEzTitH?= =?utf-8?B?VjRyTHdoQ1paT0dBcTgzQktVaFl3c0orcGs3S2RLUVJUVUl5QTErcWhxUXRs?= =?utf-8?B?Y21JR09EWW5VR2luWW5WUnE5NTd3T0JGTVdJWnNybFFwTVNuZXhxS084WGFB?= =?utf-8?B?V3NBTGNyRlMrVnA5eFVVN0V3bTlJL2R6SG1ubGJ3SnJhWTcvZ1pkVVpTWnFX?= =?utf-8?B?VXRuQzJiRkNIOWxpa2g0bENIbm5ua2lFS0xEc3dDREluVjhvWEZOa0JuSTJi?= =?utf-8?B?MDlzL2JaOHdFZmowZFhGNFhPWCtiYzF1aTVhdnQ5ZXJENWU1aVBJSEd1bm1v?= =?utf-8?B?aGFLVFozK0ppa3RGd0xUVkg5UkxaR3BCUnN5WVlxd3pncDJOZUN6WEM1M3FK?= =?utf-8?B?Q0toWS9zNzdQRDlIVElHeDZnYWluZXhHMFByQ2x1UE1XY0M0WGsrNDBTWVlD?= =?utf-8?B?V2Q3ZUlOMUtVRXNvWEhEYzM3NUQ4b1hTWnBPWWRkbk9JTFkxYmt3emdiVHdR?= =?utf-8?B?Q3lKZXlFbUdTOTdhbEt6NklvL29aRmsyQjRyeWRGRzRLQkJjU0ZnaUVMRGd4?= =?utf-8?B?ODFaVmVaMnNPaXFoYW1mWTJmcmppa011L3ZFUmlzQTVjQ0tXOUsvVFVxVjhj?= =?utf-8?B?ZUJVSmlJa3NiU2MxRWdmQXlCNmZGcm1uQWV4QmZHQTRwWExZMk51V1NySkdL?= =?utf-8?B?NURoQWFZV1NBV1RaZjNkMXhJVzdGYmNWZ0Z0amNPeWpqVG1VWWY0QnJYSkFt?= =?utf-8?B?b3pmZ01oUUwzWGcwQm9zcVVvQlJveUdib3FVcHdtOWc0RDZwQVFMRGlJTmlW?= =?utf-8?B?VjBZYlpFUlovU1d5bldJZit6dW5DZ0ZZdUkxdENqNjE0a3kxdnFrSkR0TU9B?= =?utf-8?B?Mm1TTkQ2Q2t3YUNiTHRkMmxPdDlQdllmRXhjNkEzRStvS24wWEpNMnFEd2kw?= =?utf-8?B?V3JrTDZIKzFFa3o2K0xtQytRMGptWFVzWCtNamo1SzNRQ20zbnlkbmtPTXhr?= =?utf-8?B?WG1PejVkRko2VEVIWCtQZ2xQTDIrZk52elVjS3ZGeXdyRWlpWWlkSkdmVWQ3?= =?utf-8?Q?2G8/UqpNuKwHoEUjTsB8nAxJkepRZI=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB2893; 6:iMoJCSaJkxqrPbBAQ4iw3VQK/xZ40kVTcPuQcXfUsS4MzfdJ8XbExyyhlmt5+Z7O8iMPwxtQOgDE9auC5RLjbpDNXrQd7EG8G14jul1ewmUCBeOyKC8Qs/d/rafXZtpxIVQvM+eou8T0qEJLLZL76FMF3RHKsh/v+OKWs1JmCyf7BesqS3UQnewt8irDqmtdYuhNnWLGWDzm9TbR7/nKxaT0xi0LPGoL6uVIJr0R/IKOtNo9uCL1KJXI6Y42p1CDE98v7KzXuJ+wsSnv6dlmy/uKfQuNqUHP0sMLCJWebsX7EndvZTBJMyhVxoDxtHb76PZ8vqxr6TxDBEa4NrhdqlNoA3IXYFweBAYBiTaJemU=; 5:zB4BHj9z5PcT2Qu3ZOCw2U0uGmPBJzu/1zIRS6S49Q2H8KNzmhTdMklQJZEVl0gQNCKNNsOtlNISwiYs9fAqs2y3ZoQEbpSVj+1UJxS4VN1zu6w1eoHgCNsR0fHzt9/ktIk4QjPGfG/1fl3rgxpyU9pz/KKrJkBHw2EYexw9lgQ=; 24:gHQAFFkTivRUYDlG8Pbh1YoELaSabkeXDTFtEeL5WnCJdCCZpLbisGvhgF1CR0IbWrtGfMOokxrJAnK9bL+yfIqXR3bECDNeTuYBrgGWAAk=; 7:m7r4JvtTLEITRw+w/CNe+je6imN6l3Q9SP5djenRJCjN48vbFQhSe7/LWxwTAxMsOTN6JJQ58EcoO5Rg467yicBE54NqKxdcKd2/CGYZLh+Za1f+umBoZc52vV+8obWiIrlXqQMmrpItb/Sz/IUKMTYeWMUxIRr7zs2FA9C3KZqGOnvcFY4NAdo94Jbv4FyLln7O9mp7zmMsXbUJ2M1idXSoIxGv93DJyfP+q8Njhw0n/Q/jokEyZ97nXdGlyjzt SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2018 14:49:34.6166 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ac6bf1d5-b7a4-4e7a-8343-08d55c273233 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB2893 Subject: Re: [dpdk-dev] [PATCH] net/thunderx: Convert ThunderX VNIC PMD to new offload API 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: Mon, 15 Jan 2018 14:49:39 -0000 -- Oryginal message -- > On 1/3/2018 1:12 PM, maciej.czekaj@caviumnetworks.com wrote: >> From: Maciej Czekaj >> >> This patch removes all references to old-style offload API >> replacing them with new offload flags. >> >> Signed-off-by: Maciej Czekaj > <...> > >> >> dev_info->default_txconf = (struct rte_eth_txconf) { >> .tx_free_thresh = NICVF_DEFAULT_TX_FREE_THRESH, >> - .txq_flags = >> - ETH_TXQ_FLAGS_NOMULTSEGS | >> - ETH_TXQ_FLAGS_NOREFCOUNT | >> - ETH_TXQ_FLAGS_NOMULTMEMP | >> - ETH_TXQ_FLAGS_NOVLANOFFL | >> - ETH_TXQ_FLAGS_NOXSUMSCTP, >> + .txq_flags = ETH_TXQ_FLAGS_IGNORE, > I am not sure about this, Shahafs may comment better, shouldn't application > decide to set "c" or not, instead of having this in default > configuration? I think of it as a safeguard against a legacy application that is using old-style txq_flags. There is an assymetry in API, since  - rte_eth_tx_queue setup() and rte_eth_rx_queue_setup() convert flags  - rte_eth_dev_info_get() - does not convert them. The scenario leading to issues is as follows: 1.Application reads default txq_flags from the rte_eth_dev_info_get().  - dev_info.txconf.offloads contains flags but it is ignored by legacy code  - dev_info.txq_flags may be:       a) txq_flags == 0       b) txq_flags ==  ETH_TXQ_FLAGS_IGNORE       c) txq_flags == new-style flags converted to old-style flags 2. Application uses default txq_flags field to rte_eth_tx_queue_setup(). Now, depending on txq_flags:   a) txq_flags == 0, ethdev layer __clears__ all offloads, see *   b) txq_flags ==  ETH_TXQ_FLAGS_IGNORE, ethdev layer converts offloads to txq_flags, but leaves orignal offloads, so PMD can still use them   c) txq_flags == old-style flags, ethdev layer converts txq_flags to offloads, destroying default offloads * relevant code snippet from rte_eth_tx_queue_setup() with comments:     if (tx_conf->txq_flags & ETH_TXQ_FLAGS_IGNORE) {         // ==> converts offloads to txq_flags but LEAVES offloads, too         rte_eth_convert_txq_offloads(tx_conf->offloads,                          &local_conf.txq_flags);         /* Keep the ignore flag. */         local_conf.txq_flags |= ETH_TXQ_FLAGS_IGNORE;     } else {         // ==> converts txq_flags to offloads but DESTROYS original offloads rte_eth_convert_txq_flags(tx_conf->txq_flags,                       &local_conf.offloads);     } So, out of 3 options: a) does not work for legacy code b) will work for legacy code c) will work but defeats the purpose of removing old-style flags, since dev_info() callback has to setup both old-style and new-style default flags I chose b) as the simplest way to work-around the issue. I could post a patch to ethdev API if you think it is important. > > <...> > >> + if ((conf_tx_offloads & tx_offload_capa) != conf_tx_offloads) { >> + PMD_INIT_LOG(ERR, "Some Tx offloads are not supported " >> + "requested 0x%lx supported 0x%lx\n", >> + conf_tx_offloads, tx_offload_capa); > This is broken for 32bits, using PRIx64 instead of "lx" makes your code more > portable. Will fix in v2.