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 6242BA04B3; Fri, 8 Nov 2019 13:09:26 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 63FBA1C11B; Fri, 8 Nov 2019 13:09:25 +0100 (CET) Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 209311C112 for ; Fri, 8 Nov 2019 13:09:24 +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 61F73400069; Fri, 8 Nov 2019 12:09:22 +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 12:09:16 +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> <2564228e-e5c5-35f6-0c0a-c0608551083f@solarflare.com> <0eea9d34-4201-2035-b266-d9b9e60e5dc5@solarflare.com> <5f9c6b88-84f4-1d0a-e955-fc6b139fd521@solarflare.com> From: Andrew Rybchenko Openpgp: preference=signencrypt Autocrypt: addr=arybchenko@solarflare.com; keydata= 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 Znk9 Message-ID: <095f329c-a6ec-b33b-d4bd-b2e84e58c619@solarflare.com> Date: Fri, 8 Nov 2019 15:09:11 +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/+wtce17d/g3IMk7FF7pN/WeEBfTJO5/GCIWdBcfwnSbgCXgjmxN 72cO 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: 1573214963-ha5KGuOmizcu 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 2:48 PM, Matan Azrad wrote: > > > From: Andrew Rybchenko >> 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. > > Agree with your summary. > > My problem in this patch is part 3: > This part implies by a formal way(ethdev) that there are 2 configurations: > 1. The application configuration. > 2. The actual device configuration. > > I think that formally if there is a difference between both, an error must be returned. > Informally, PMD can do whatever it want with good documentation in its doc file. OK I see. The problem that you'd like make (3) stronger check to log and return error. Above discussion cover it. We can discuss it later, but right now it cannot be done (at least from my point of view) as I said above. Many thanks.