From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 314184CB3; Wed, 26 Sep 2018 08:36:57 +0200 (CEST) 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 (Proofpoint Essentials ESMTP Server) with ESMTPS id CB78C140074; Wed, 26 Sep 2018 06:36:55 +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; Wed, 26 Sep 2018 07:36:50 +0100 To: =?UTF-8?Q?Ga=c3=abtan_Rivet?= CC: , Igor Romanov , , Ferruh Yigit References: <1535528736-31325-1-git-send-email-arybchenko@solarflare.com> <20180925154811.4bhiybd24vwb772y@bidouze.vm.6wind.com> From: Andrew Rybchenko Message-ID: <1058db4f-6708-ad36-0342-5f82794a80e2@solarflare.com> Date: Wed, 26 Sep 2018 09:36:05 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 MIME-Version: 1.0 In-Reply-To: <20180925154811.4bhiybd24vwb772y@bidouze.vm.6wind.com> Content-Language: en-GB 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-24118.003 X-TM-AS-Result: No-14.857100-8.000000-10 X-TMASE-MatchedRID: X4bcv0S75Kmjk2p62FWROya1MaKuob8PC/ExpXrHizwv3YVduHSzlyM2 GqGKs1KAuja5nsDvY34/Z/74EQY5HYjHxngndevxbc297PAGtWaCy4dvyXHO3spj/9aYiP+hjrz 9baHKQfMhA2rud2nIFgBjbUg8s/LGpv3pZ2MiVpX0hv/rD7WVZKOI1u80g4PZpeuEMOC9pJ/dF2 6sPXZAJdCQaPiFU4Jxr15/GZU7YAzB1tTdqQfkDEf49ONH0RaS+r3DIOwP4KUrk8mcTJaElvNO7 flRFqXmIGSHKu90xKWSU848M/hs6Me4Woyb+kVFyDp+jSvEtWsl3afZehJEWedlU2K5Jm9bLMlY avN/+VI1Nxz4Ua0cvWC2mpXkc+jb31upjFk7WXTkGAR1SqoA1H0tCKdnhB581B0Hk1Q1KyLUZxE AlFPo884PuoPxaNTIDtXiP6wVh9spRUtkSMh50o633epjK26P9DgmXXVKA3GM+ZRyg1OR3Q2poL t/34Y94upzoHf1XcHzvMANCqZOZ8rjsDJsakZ6 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--14.857100-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-24118.003 X-MDID: 1537943816-oWeNb3CchDlk Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH] net/failsafe: limit device capabilities to really supported 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: Wed, 26 Sep 2018 06:36:57 -0000 On 9/25/18 6:48 PM, Gaƫtan Rivet wrote: > Hi, > > Sorry I had forgotten this one. > I would rename the title, something like: > > net/failsafe: report actual device capabilities > > And a few edits in the commit log: > > On Wed, Aug 29, 2018 at 08:45:36AM +0100, Andrew Rybchenko wrote: >> From: Igor Romanov >> >> Failsafe driver does not support any device capabilities yet. In fact above statement was valid at the moment of initial submission, but it is invalid now since run-time queue setup support added. >> Make fs_dev_infos_get() consider default ones to limit advertised > ^^^^^^^^=report We do not blindly report so-called default capabilities. We take capabilities reported by sub-devices as well. I think that "default" can confuse unaware reader here (since default is the failsafe device capabilities and "default" is just a part of variable name). So, I suggest to reword it. I'll send v2 shortly. >> device capabilities to really supported instead of unconditional > | ^^^^^=actually? ^^^^^^^^^^^^^^^^^^^^^^^^ > ^ +those? >> inheritance from sub-devices. > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -> whole end of sentence can be removed. >> Fixes: cac923cfea47 ("ethdev: support runtime queue setup") >> Cc: stable@dpdk.org >> >> Signed-off-by: Igor Romanov >> Signed-off-by: Andrew Rybchenko > Otherwise > > Acked-by: Gaetan Rivet > >> --- >> drivers/net/failsafe/failsafe_ops.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c >> index 24e91c931..2df8b55d9 100644 >> --- a/drivers/net/failsafe/failsafe_ops.c >> +++ b/drivers/net/failsafe/failsafe_ops.c >> @@ -716,6 +716,8 @@ fs_stats_reset(struct rte_eth_dev *dev) >> * all sub_devices and the default capabilities. >> * Uses a logical AND of TX capabilities among >> * the active probed sub_device and the default capabilities. >> + * Uses a logical AND of device capabilities among >> + * all sub_devices and the default capabilities. >> * >> */ >> static void >> @@ -734,10 +736,12 @@ fs_dev_infos_get(struct rte_eth_dev *dev, >> uint64_t rx_offload_capa; >> uint64_t rxq_offload_capa; >> uint64_t rss_hf_offload_capa; >> + uint64_t dev_capa; >> >> rx_offload_capa = default_infos.rx_offload_capa; >> rxq_offload_capa = default_infos.rx_queue_offload_capa; >> rss_hf_offload_capa = default_infos.flow_type_rss_offloads; >> + dev_capa = default_infos.dev_capa; >> FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_PROBED) { >> rte_eth_dev_info_get(PORT_ID(sdev), >> &PRIV(dev)->infos); >> @@ -746,12 +750,14 @@ fs_dev_infos_get(struct rte_eth_dev *dev, >> PRIV(dev)->infos.rx_queue_offload_capa; >> rss_hf_offload_capa &= >> PRIV(dev)->infos.flow_type_rss_offloads; >> + dev_capa &= PRIV(dev)->infos.dev_capa; >> } >> sdev = TX_SUBDEV(dev); >> rte_eth_dev_info_get(PORT_ID(sdev), &PRIV(dev)->infos); >> PRIV(dev)->infos.rx_offload_capa = rx_offload_capa; >> PRIV(dev)->infos.rx_queue_offload_capa = rxq_offload_capa; >> PRIV(dev)->infos.flow_type_rss_offloads = rss_hf_offload_capa; >> + PRIV(dev)->infos.dev_capa = dev_capa; >> PRIV(dev)->infos.tx_offload_capa &= >> default_infos.tx_offload_capa; >> PRIV(dev)->infos.tx_queue_offload_capa &= >> -- >> 2.17.1 >>