From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1D88CA04B3; Fri, 8 Nov 2019 12:25:03 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B7CEE1C0B4; Fri, 8 Nov 2019 12:25:01 +0100 (CET) Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id B00631BFDF for ; Fri, 8 Nov 2019 12:25:00 +0100 (CET) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 596B3B4005F; Fri, 8 Nov 2019 11:24:58 +0000 (UTC) Received: from [192.168.38.17] (91.220.146.112) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 8 Nov 2019 11:24:51 +0000 To: Matan Azrad , Pavan Nikhilesh Bhagavatula , "ferruh.yigit@intel.com" , Jerin Jacob Kollanukkaran , Thomas Monjalon CC: "dev@dpdk.org" References: <20191029050312.2715-1-pbhagavatula@marvell.com> <0547e0a0-1ccd-84ee-46f1-5b35e1d25680@solarflare.com> <2564228e-e5c5-35f6-0c0a-c0608551083f@solarflare.com> <0eea9d34-4201-2035-b266-d9b9e60e5dc5@solarflare.com> From: Andrew Rybchenko Openpgp: preference=signencrypt Autocrypt: addr=arybchenko@solarflare.com; keydata= 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 Znk9 Message-ID: <5f9c6b88-84f4-1d0a-e955-fc6b139fd521@solarflare.com> Date: Fri, 8 Nov 2019 14:24:48 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Originating-IP: [91.220.146.112] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1010-25028.003 X-TM-AS-Result: No-19.020100-8.000000-10 X-TMASE-MatchedRID: IeZYkn8zfFo9gZmQY0RBhPZvT2zYoYOwC/ExpXrHizxigV5T7Tqql84L 17Ff01Q6ZnH9wlvrd9uYZfjORODtZTM9BBRuZZ1vboe6sMfg+k8O9z+P2gwiBRw0HKhKjTfp9WX m+yhJKyjgYsxc0OenaskAO3UBIkNSWYbCxklX1q7bbgI4AuYpV4HLFWR93TgkUjFJwpdmcrR4tf VZnXnk3ql+Ah8xkVK8y3f7HhFK1pk8UztDKMPiNhlJRfzNw8afAp+UH372RZXAlr9zf1x/lhgBE FPHyYadesLKOnHkV3J/HeMgUYYG6dxzjdVS8wPASHCU59h5KrFrakICcm9AUX9nRLJB1yYQ2xLY z19cST13Y3fkgg/7Cjedy9BdN9yxZtAjEeDZ+dsYb31sdExP22Py9vwGSQFkbJ0dUVCXnPTx9fz 91y6x5aAKyn0RRzdq0HX9Tir0MV3MLqluqAdQ1IpHR9xEGhE1hU4TAl+1Spf2eVcY296UF3vSMp o5jcRTC1l7NjZN+0M8PKV10/eYRcVVIEyvZyb0zzuzg6dga4LLRD51bz5RZGM4ZXgCj05kaSHfz D3eveN6dLo7H9T0f5X9dhEmnrRT/tPmO9TKKFXVPta5NqnHSl23mvOlg8QMVz8J52OVy+RF3PHp pvYe3q4YUaH/Q8F2i052oMyUG/VveCKWtaLcaGhCG8qMW+Ky3WFaxVW7M2ibkEl1SMP4VbbE3By WTBPiLeFZ9J9F4ZpjilD+jEVDL6Foka5IFiLk574P0n6l3f07g2sl0tC6geZYcdJgScjxAUqwO9 pSIT3XtRo0gc74E1PiATFc5IXl5EM4kTBn886eAiCmPx4NwLTrdaH1ZWqC1B0Hk1Q1KyJHtBsf5 /UXJbVQu1GNZ+siOwBXM346/+wFLXweWpJnG2WOhjOhlvY9QstCL/bI8H0XDKPlwzJitBkfAFx3 Dn4y X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--19.020100-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-25028.003 X-MDID: 1573212299-OQwcaC84uSm3 Subject: Re: [dpdk-dev] [PATCH v15 3/7] ethdev: add validation to offloads set by PMD 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" On 11/8/19 1:29 PM, Matan Azrad wrote: > > > From: Andrew Rybchenko >> Sent: Friday, November 8, 2019 12:12 PM >> To: Matan Azrad ; Pavan Nikhilesh Bhagavatula >> ; ferruh.yigit@intel.com; Jerin Jacob >> Kollanukkaran ; Thomas Monjalon >> >> Cc: dev@dpdk.org >> Subject: Re: [dpdk-dev] [PATCH v15 3/7] ethdev: add validation to offloads >> set by PMD >> >> On 11/7/19 9:56 AM, Matan Azrad wrote: >>> Hi >>> >>> From: Andrew Rybchenko >>>> On 11/6/19 9:58 AM, Matan Azrad wrote: >>>>> >>>>> >>>>> From: Andrew Rybchenko >>>>>> On 11/5/19 5:05 PM, Matan Azrad wrote: >>>>>>> From: Andrew Rybchenko >>>>>>>> On 11/3/19 6:16 PM, Matan Azrad wrote >>>>>>>>> From: Andrew Rybchenko >>>>>>>>>> On 11/3/19 9:57 AM, Matan Azrad wrote: >>>>>>>>>>> Hi >>>>>>>>>>> >>>>>>>>>>> From: Andrew Rybchenko >>>>>>>>>>>> On 10/31/19 7:33 PM, Pavan Nikhilesh Bhagavatula >>>>>>>>>>>> wrote: >>>>>>>>>>>>>> From: Pavan Nikhilesh Bhagavatula >>>>>>>>>>>>>>> Hi Matan, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi Pavan >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> From: Pavan Nikhilesh >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Some PMDs cannot work when certain offloads are >>>>>>>>>>>>>>>>> enable/disabled, as a workaround PMDs auto >>>>>>>>>>>>>>>>> enable/disable offloads internally and expose it through >>>>>>>>>>>>>>>>> dev->data-dev_conf.rxmode.offloads. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> After device specific dev_configure is called compare >>>>>>>>>>>>>>>>> the requested offloads to the offloads exposed by the >>>>>>>>>>>>>>>>> PMD and, if the PMD failed to enable a given offload >>>>>>>>>>>>>>>>> then log it and return -EINVAL from >>>>>>>>>>>>>>>>> rte_eth_dev_configure, else if the PMD failed to disable >>>>>>>>>>>>>>>>> a given offload log and continue with rte_eth_dev_configure. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> rte_eth_dev_configure can be called more than 1 time in >>>>>>>>>>>>>>>> the device life time, How can you know what is the >>>>>>>>>>>>>>>> minimum offload configurations required by the port after >>>>>>>>>>>>>>>> the first call? >>>>>>>>>>>>>>>> Maybe putting it in dev info is better, what do you think? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> We only return -EINVAL in the case where we enable an >>>>>>>>>>>>>>> offload advertised by dev_info and the port still fails to >>>>>>>>>>>>>>> enable it. >>>>>>>>>>>>>> Are you sure it is ok that devices may disable\enable >>>>>>>>>>>>>> offloads under the hood without user notification? >>>>>>>>>>>>> Some devices already do it. The above check adds validation >>>>>>>>>>>>> for the same. >>>>>>>>>>>> The problem is that some offloads cannot be disabled. >>>>>>>>>>> Yes, I understand it. >>>>>>>>>>> >>>>>>>>>>>> If application does not request Rx checksum offload since it >>>>>>>>>>>> does use it, it is not a problem to report it. >>>>>>>>>>> Yes, for RX checksum I tend to agree that application doesn't >>>>>>>>>>> care if the >>>>>>>>>> PMD will calculate the checksum in spite of the offload is >>>>>>>>>> disabled. >>>>>>>>>>> >>>>>>>>>>> But what's about other offloads: For example in RX: LRO, >>>>>>>>>>> CRC_KEEP, VLAN_STRIP, JUMBO If the PMD will stay them on while >>>>>>>>>>> the app is disabling it, It can cause a problems to the >>>>>>>>>> application (affects the packet length). >>>>>>>>>> >>>>>>>>>> Yes, I agree that some offloads are critical to be disabled, >>>>>>>>>> but RSS_HASH discussed in the changeset is not critical. >>>>>>>>> >>>>>>>>> So, are you agree It should not be checked globally for all the >>>>>>>>> offloads in >>>>>>>> ethdev layer? >>>>>>>> >>>>>>>> If offload is not requested, but enabled (since PMD cannot >>>>>>>> disable it), right not it will not fail configure, but warn about >>>>>>>> it in logs. >>>>>>>> >>>>>>> >>>>>>> In this case warning print is not enough since it can be critical >>>>>>> for the >>>>>> application for some offloads. >>>>>>> It can be very weird for the application to see that some offload >>>>>>> are on >>>>>> while the application doesn't expect them to be on. >>>>>>> it even can cause app crash(at least for the RX offload I wrote >>>>>>> above). >>>>>> >>>>>> The patch improves the situation. Earlier it was silent, now it >>>>>> will be at least visible. >>>>> >>>>> We can do it visible inside the limited PMDs. >>>> >>>> Why? >>> >>> Because this is not according to what application should understand from >> the ethdev API. >> >> It does not answer why it should be inside the limited PMDs instead of >> ethdev layer. > > Why not? > Application doesn't expect to it and it may affect it. > >>>>>> I'm afraid that in 19.11 release cycle we cannot change it to fail >>>>>> dev_configure. I think it will be too destructive. Future >>>>>> improvement should be discussed separately. >>>>> >>>>> So we can remove this ethdev patch now and let the PMD to do it >>>>> until we will find better solution later. >>>> >>>> Sorry, but I don't think so. >>>> >>>>>>>>> It even be more problematic if the dynamic offload field in mbuf >>>>>>>>> is not exist at all. >>>>>>> >>>>>>> Any answer here? >>>>> >>>>> A Rx offload requires dynamic mbuf field cannot stay visible while >>>>> the app disabling it. Because the dynamic mbuf field probably is not >>>>> set in the mbuf. May cause problems. >>>>> >>>>>> Please, clarify the question. >>>>>> >>> >>> No answer here. >> >> Sorry, but I don't understand the problem. >> If there is no dynamic field, it will not be set. > Why not? The offload is enabled for the PMD perspective. > >> If there is dynamic field, it is the same as regular fields. >> >>>>>>>>>> >>>>>>>>>>> For example in TX: TSO, VLAN, MULTI_SEG..... >>>>>>>>>> >>>>>>>>>> Tx is not that critical since application should not request >>>>>>>>>> these offloads per- packet. Tx offloads are mainly required to >>>>>>>>>> ensure that application may request the offload per packet and >>>>>>>>>> it will be done. >>>>>>>>> >>>>>>>>> yes, you right, In TX it looks less critical (for now). >>>>>>>>> >>>>>>>>>> >>>>>>>>>>>> Of course, it could be a problem if the offload is used, but >>>>>>>>>>>> application wants to disable it, for example, for debugging >>>>>>>>>>>> purposes. In this case, the solution is to mask offloads on >>>>>>>>>>>> application level, which is not ideal as well. >>>>>>>>>>> Why not ideal? >>>>>>>>>> >>>>>>>>>> It eats CPU cycles. >>>>>>>>> >>>>>>>>> Sorry, I don't understand your use case here. >>>>>>>> >>>>>>>> If application wants to try code path without, for example, Rx >>>>>>>> checksum offload, it could be insufficient to disable the offload >>>>>>>> right now, but also required to cleanup offload results flags in >>>>>>>> each mbuf (if PMD does not support the offload disabling). >>>>>>> >>>>>>> What is "right now"? Configuration time? >>>>>> >>>>>> Right now is the current state of some drivers in DPDK tree. >>>>>> >>>>> >>>>> OK. I think the offload configuration is in configuration time. No >>>>> data-path. >>>>> >>>>>>> If application will know that PMD cannot disable the rx-checksum >>>>>>> in configuration time, It can plan to not clean this flag in mbuf >>>>>>> for each rx >>>>>> mbuf. >>>>>> >>>>>> Yes and application has a way to know it - take a look at >>>>>> dev->data->dev_conf.rxmode.offloads. >>>>> >>>>> As I understand, before this patch, this field used for ethdev layer >>>>> knowledge to track on the application Rx offload configuration. Am I >>>>> wrong? >>>> >>>> I think it is just Rx offloads configuration. >>>> It is better to have real offloads here since it is used on Rx queue >>>> setup to mask already enabled offloads. >>> >>> And in DPDK or any SW management controls a device, the configuration >> must be set by the user. >>> So, it should reflect the user configuration as is. >> >> It is ideal world which is unfortunately too far from real life. >> There is always a trade off. It is possible to define too restrictive interface >> which will enforce complicated implementation with bad performance >> characteristics for no real value. >> >> In any case, the patch simply makes the difference visible. >> It does not enforce any rules except to fail configure if requested offload is >> not enabled which is a strong violation of the interface. If you don't like it, we >> can discuss the point. In the area of not requested but enabled offloads, it >> just adds logs. No changes in behaviour. I'm strongly against making it hard >> failure in 19.11 since it is too late for the decision. We can discuss it later >> separately from the patch. >> > While I don't agree with the patch and the idea here, we can continue discuss later. > I think we understand the ideas of both of us and we can dig to it later. I agree that it is time to wrap the discussion. Could you make it clear what you don't like in the patch and why. It does 3 things for all port at the end of rte_eth_dev_configure() based on dev->data->dev_conf (if PMD updates it in the case of violations). 1. If requested offload is not enabled, log error message. 2. If requested offload is not enabled, fail dev_configure by returning error and deconfiguring all queues. 3. If not requested offload is enabled, log info message. Above is done for Rx and Tx offloads.