From: Akhil Goyal <gakhil@marvell.com>
To: Ferruh Yigit <ferruh.yigit@amd.com>,
"Chautru, Nicolas" <nicolas.chautru@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>,
Maxime Coquelin <maxime.coquelin@redhat.com>,
"ferruh.yigit@xilinx.com" <ferruh.yigit@xilinx.com>,
Ray Kinsella <mdr@ashroe.eu>
Cc: "thomas@monjalon.net" <thomas@monjalon.net>,
"trix@redhat.com" <trix@redhat.com>,
"Richardson, Bruce" <bruce.richardson@intel.com>,
"david.marchand@redhat.com" <david.marchand@redhat.com>,
"stephen@networkplumber.org" <stephen@networkplumber.org>,
"Zhang, Mingshan" <mingshan.zhang@intel.com>,
"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>
Subject: RE: [EXT] [PATCH v7 6/7] bbdev: add queue related warning and status information
Date: Thu, 29 Sep 2022 18:32:50 +0000 [thread overview]
Message-ID: <CO6PR18MB4484E34C426F586B2721211BD8579@CO6PR18MB4484.namprd18.prod.outlook.com> (raw)
In-Reply-To: <198c3707-abad-40df-a0ee-0e1b2aa330ee@amd.com>
> > Thanks for your comment.
> > To be totally honest I don't yet see how your suggestion would be better, but I
> quite possibly miss something. I did not reply in line with your comments so that
> to try to be clearer and avoid spreading the argument to much. Ray and Bruce
> feel free to chime in as well.
> >
> > First to state the obvious: Nothing will change the fact that in case new enums
> are being added in DPDK, and if the application doesn't change, then user would
> not be able to interpret any such additional status/capability (backward
> compatible only feature parity and still ABI compliant) which is totally accepted
> as fine and up to the user, but the intention is at least not to have adverse effect
> even when they don’t update their code for such new features (notably in case
> they just use an older PMD not supporting such new features as a basic typical
> example in the ecosystem). I think we agree on that problematic.
> >
> > In term of history of not using MAX value for enum, I believe there is already
> well documented and you agree with the reasoning of why we had to move
> away from this [1]. Not just cosmetically where the max value is called an enum
> or a #define but to have application making hardcoded assumption on the
> possible maximum range for such enum notably when sizing array. The only
> caveat being that at the time, the community did spot the weakness but did not
> come to an agreement with regards to the best way to manage this moving
> forward.
> >
> > In case your point is purely cosmetic to rename the PADDED_MAX value from
> the enum to a #define (both public) I don't see how this would make thing
> clearer by obfuscating the fact it is genuinely a padded value and to have that
> value directly related to the enum structure. Also note that there is already an
> actual max value defined for these enums (but kept private on purpose) which is
> used by the lib/bbdev functions to restrict usage to what is actually supported in
> the given implementation (distinct from padded max value).
> >
> > Arguably the only concern I could understand in your message would be this
> one " my concern was if user assumes all values valid until PADDED_MAX and
> tries to iterate array until that value".
> > But really the fact that it is indeed a padded value implies fairly explicitly that
> we have padded the supported enums with placeholders enums not yet defined.
> That is fairly tautological! I cannot see how it could confuse anyone. That is
> indeed to avoid such confusion that we went on that direction to expose a
> public future-proof padded maximum value.
> >
> > Then looking at usage in practice: when integrating the bbdev api with higher
> level SW stacks (such as FlexRAN reference sw or 3rd party stacks) I don’t see
> how any of this theoretical concerns you raised would be relevant for any of
> these very cases (enqueue status, new capability etc...). The only genuine
> concern was sizing array based on MAX value being not ABI compliant.
> > I cannot think of any code in the application presently deployed or future that
> would then do what you are concerned about and cause an issue, and we
> definitely don’t do such things in any example for bbdev-test or in FlexRAN
> reference code provided to the ecosystem. The application would already have
> a default case when an enum being provided has no matching application, or
> more accurately in practice they would purely not look for these and hence
> these would be ignored seamlessly.
> >
> > Thanks again for the discussion. I wish this had happened earlier (we only
> discussed this with Ray and Bruce while you were still at Intel), let me know what
> you think.
> > It may be more generally good moving forward to come to a general
> agreement at your technical forum level to avoid confusion. When we discussed
> earlier we came to the conclusion that the DPDK community had well
> documented what not to do to avoid ABI breakage but not necessarily what are
> the best alternatives.
> > Hopefully such future discussion should not delay this serie to be applied but
> still let me know.
> >
>
> Hi Nic,
>
> I believe it is more clear/safe to convert to SIZE_MAX macros, although
> it is not a blocker.
>
> Anyway, I am not sure about the value of continuing this discussion,
> perhaps it is better to clarify the guidance for similar case with ABI
> maintainer and techboard, so it can proceed according to the decision.
>
I agree with Ferruh's comment for converting to SIZE_MAX macros.
However, it is not a strong comment from my side.
Moving to techboard would mean this patchset would skip the RC1 window.
I believe as Ray is the maintainer and go to person for ABI related issues.
I believe if he can take a look at the suggestion and provide ack/nack to whichever
Approach would be fine and we can go ahead in that direction.
I would like to close this as soon as possible. There are a lot of patches to be blocked on this series.
Regards,
Akhil
next prev parent reply other threads:[~2022-09-29 18:35 UTC|newest]
Thread overview: 174+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-09 0:22 [PATCH v1 0/2] bbdev: add device info on queue topology Nicolas Chautru
2022-03-09 0:22 ` [PATCH v1 1/2] " Nicolas Chautru
2022-03-09 1:28 ` Stephen Hemminger
2022-03-09 0:22 ` [PATCH v1 2/2] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 0/5] bbdev changes for 22.11 Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 1/5] bbdev: allow operation type enum for growth Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 2/5] bbdev: add device status info Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 3/5] bbdev: add device info on queue topology Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 4/5] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-06-17 18:37 ` [PATCH v2 5/5] bbdev: add new operation for FFT processing Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 0/7] bbdev changes for 22.11 Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 2/7] bbdev: add device status info Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-06-28 1:35 ` [PATCH v3 7/7] bbdev: add a lock option for enqueue/dequeue operation Nicolas Chautru
2022-07-06 0:23 ` [PATCH v4 0/7] bbdev changes for 22.11 Nicolas Chautru
2022-07-06 0:23 ` [PATCH v4 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-07-06 12:50 ` Tom Rix
2022-07-06 21:20 ` Chautru, Nicolas
2022-07-06 0:23 ` [PATCH v4 2/7] bbdev: add device status info Nicolas Chautru
2022-07-06 15:38 ` Tom Rix
2022-07-06 21:16 ` Chautru, Nicolas
2022-07-07 13:37 ` Tom Rix
2022-07-07 17:15 ` Chautru, Nicolas
2022-07-18 13:09 ` Tom Rix
2022-08-25 14:08 ` Maxime Coquelin
2022-07-06 0:23 ` [PATCH v4 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-07-06 16:06 ` Tom Rix
2022-07-06 21:12 ` Chautru, Nicolas
2022-07-07 13:34 ` Tom Rix
2022-07-07 17:13 ` Chautru, Nicolas
2022-07-18 13:04 ` Tom Rix
2022-07-06 0:23 ` [PATCH v4 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-07-06 16:15 ` Tom Rix
2022-07-06 21:10 ` Chautru, Nicolas
2022-07-07 13:20 ` Tom Rix
2022-07-07 17:19 ` Chautru, Nicolas
2022-07-18 13:21 ` Tom Rix
2022-08-15 17:28 ` Chautru, Nicolas
2022-07-06 0:23 ` [PATCH v4 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-07-06 18:47 ` Tom Rix
2022-07-06 21:04 ` Chautru, Nicolas
2022-07-07 13:09 ` Tom Rix
2022-07-07 16:57 ` Chautru, Nicolas
2022-07-18 22:38 ` Tom Rix
2022-07-06 0:23 ` [PATCH v4 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-07-06 18:57 ` Tom Rix
2022-07-06 20:34 ` Chautru, Nicolas
2022-07-06 0:23 ` [PATCH v4 7/7] bbdev: add a lock option for enqueue/dequeue operation Nicolas Chautru
2022-07-06 19:01 ` Tom Rix
2022-07-06 19:20 ` Stephen Hemminger
2022-07-06 20:21 ` Chautru, Nicolas
2022-07-07 12:47 ` Tom Rix
2022-07-06 23:28 ` [PATCH v5 0/7] bbdev changes for 22.11 Nicolas Chautru
2022-07-06 23:28 ` [PATCH v5 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-08-25 13:54 ` Maxime Coquelin
2022-07-06 23:28 ` [PATCH v5 2/7] bbdev: add device status info Nicolas Chautru
2022-08-25 14:18 ` Maxime Coquelin
2022-08-25 18:30 ` Chautru, Nicolas
2022-08-26 10:12 ` Maxime Coquelin
2022-08-29 16:10 ` Chautru, Nicolas
2022-08-30 7:08 ` Maxime Coquelin
2022-08-30 19:38 ` Chautru, Nicolas
2022-07-06 23:28 ` [PATCH v5 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-08-25 15:23 ` Maxime Coquelin
2022-07-06 23:28 ` [PATCH v5 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-07-06 23:28 ` [PATCH v5 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-07-06 23:28 ` [PATCH v5 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-07-06 23:28 ` [PATCH v5 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-08-15 17:54 ` [PATCH v5 0/7] bbdev changes for 22.11 Chautru, Nicolas
2022-08-25 18:24 ` [PATCH v6 " Nicolas Chautru
2022-08-25 18:24 ` [PATCH v6 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-08-25 18:24 ` [PATCH v6 2/7] bbdev: add device status info Nicolas Chautru
2022-08-25 18:24 ` [PATCH v6 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-08-25 18:24 ` [PATCH v6 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-08-26 11:53 ` Maxime Coquelin
2022-08-25 18:24 ` [PATCH v6 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-08-26 12:07 ` Maxime Coquelin
2022-08-29 18:18 ` Chautru, Nicolas
2022-08-25 18:24 ` [PATCH v6 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-08-26 19:51 ` Maxime Coquelin
2022-08-25 18:24 ` [PATCH v6 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-08-26 19:52 ` Maxime Coquelin
2022-08-29 18:07 ` [PATCH v7 0/7] bbdev changes for 22.11 Nicolas Chautru
2022-08-29 18:07 ` [PATCH v7 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-08-29 18:07 ` [PATCH v7 2/7] bbdev: add device status info Nicolas Chautru
2022-08-30 2:19 ` Zhang, Mingshan
2022-08-30 4:43 ` Hemant Agrawal
2022-09-21 18:54 ` [EXT] " Akhil Goyal
2022-09-21 20:53 ` Chautru, Nicolas
2022-08-29 18:07 ` [PATCH v7 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-08-29 18:07 ` [PATCH v7 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-08-30 4:44 ` Hemant Agrawal
2022-09-21 19:00 ` [EXT] " Akhil Goyal
2022-09-21 20:53 ` Chautru, Nicolas
2022-08-29 18:07 ` [PATCH v7 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-09-21 19:14 ` [EXT] " Akhil Goyal
2022-09-21 20:56 ` Chautru, Nicolas
2022-09-22 14:19 ` Akhil Goyal
2022-09-22 16:39 ` Chautru, Nicolas
2022-09-22 16:48 ` Akhil Goyal
2022-09-22 17:25 ` Chautru, Nicolas
2022-08-29 18:07 ` [PATCH v7 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-09-21 19:21 ` [EXT] " Akhil Goyal
2022-09-21 20:57 ` Chautru, Nicolas
2022-09-23 10:57 ` Ferruh Yigit
[not found] ` <CO6PR18MB44848717BA4EA2FF8967D7CBD8509@CO6PR18MB4484.namprd18.prod.outlook.com>
2022-09-24 16:34 ` Chautru, Nicolas
2022-09-27 9:43 ` Ferruh Yigit
2022-09-27 20:59 ` Chautru, Nicolas
2022-09-29 18:10 ` Ferruh Yigit
2022-09-29 18:32 ` Akhil Goyal [this message]
2022-09-29 19:48 ` Chautru, Nicolas
2022-09-30 7:54 ` Maxime Coquelin
2022-08-29 18:07 ` [PATCH v7 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-09-21 19:25 ` [EXT] " Akhil Goyal
2022-09-21 20:58 ` Chautru, Nicolas
2022-08-30 4:45 ` [PATCH v7 0/7] bbdev changes for 22.11 Hemant Agrawal
2022-09-06 16:47 ` Chautru, Nicolas
2022-09-21 21:02 ` [PATCH v8 " Nic Chautru
2022-09-21 21:02 ` [PATCH v8 1/7] bbdev: allow operation type enum for growth Nic Chautru
2022-09-21 21:02 ` [PATCH v8 2/7] bbdev: add device status info Nic Chautru
2022-09-21 21:02 ` [PATCH v8 3/7] bbdev: add device info on queue topology Nic Chautru
2022-09-21 21:02 ` [PATCH v8 4/7] drivers/baseband: update PMDs to expose queue per operation Nic Chautru
2022-09-21 21:02 ` [PATCH v8 5/7] bbdev: add new operation for FFT processing Nic Chautru
2022-09-21 21:02 ` [PATCH v8 6/7] bbdev: add queue related warning and status information Nic Chautru
2022-09-21 21:02 ` [PATCH v8 7/7] bbdev: remove unnecessary if-check Nic Chautru
2022-09-22 17:45 ` [PATCH v9 0/7] bbdev changes for 22.11 Nic Chautru
2022-09-22 17:45 ` [PATCH v9 1/7] bbdev: allow operation type enum for growth Nic Chautru
2022-09-22 17:45 ` [PATCH v9 2/7] bbdev: add device status info Nic Chautru
2022-09-22 17:45 ` [PATCH v9 3/7] bbdev: add device info on queue topology Nic Chautru
2022-09-22 17:45 ` [PATCH v9 4/7] drivers/baseband: update PMDs to expose queue per operation Nic Chautru
2022-09-22 17:45 ` [PATCH v9 5/7] bbdev: add new operation for FFT processing Nic Chautru
2022-09-22 17:45 ` [PATCH v9 6/7] bbdev: add queue related warning and status information Nic Chautru
2022-09-22 17:45 ` [PATCH v9 7/7] bbdev: remove unnecessary if-check Nic Chautru
2022-09-22 18:17 ` [EXT] [PATCH v9 0/7] bbdev changes for 22.11 Akhil Goyal
2022-09-22 20:59 ` Chautru, Nicolas
2022-09-30 18:45 ` [PATCH v10 " Nicolas Chautru
2022-09-30 18:45 ` [PATCH v10 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-09-30 18:46 ` [PATCH v10 2/7] bbdev: add device status info Nicolas Chautru
2022-09-30 18:46 ` [PATCH v10 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-09-30 18:46 ` [PATCH v10 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-09-30 18:46 ` [PATCH v10 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-09-30 18:46 ` [PATCH v10 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-10-03 8:28 ` Thomas Monjalon
2022-10-03 16:39 ` Chautru, Nicolas
2022-10-03 17:21 ` Thomas Monjalon
2022-09-30 18:46 ` [PATCH v10 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-09-30 20:38 ` [EXT] [PATCH v10 0/7] bbdev changes for 22.11 Akhil Goyal
2022-10-03 18:00 ` [PATCH v11 " Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 2/7] bbdev: add device status info Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-10-03 18:00 ` [PATCH v11 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 0/7] bbdev changes for 22.11 Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 1/7] bbdev: allow operation type enum for growth Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 2/7] bbdev: add device status info Nicolas Chautru
2022-10-05 7:16 ` Maxime Coquelin
2022-10-04 17:16 ` [PATCH v12 3/7] bbdev: add device info on queue topology Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 4/7] drivers/baseband: update PMDs to expose queue per operation Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 5/7] bbdev: add new operation for FFT processing Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 6/7] bbdev: add queue related warning and status information Nicolas Chautru
2022-10-04 17:16 ` [PATCH v12 7/7] bbdev: remove unnecessary if-check Nicolas Chautru
2022-10-06 17:31 ` [EXT] [PATCH v12 0/7] bbdev changes for 22.11 Akhil Goyal
2022-10-06 22:28 ` Chautru, Nicolas
2022-10-07 4:46 ` Akhil Goyal
2022-10-10 7:35 ` Thomas Monjalon
2022-10-10 17:07 ` Chautru, Nicolas
2022-06-06 16:15 ` [PATCH v1 0/2] bbdev: add device info on queue topology Chautru, Nicolas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CO6PR18MB4484E34C426F586B2721211BD8579@CO6PR18MB4484.namprd18.prod.outlook.com \
--to=gakhil@marvell.com \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@amd.com \
--cc=ferruh.yigit@xilinx.com \
--cc=hemant.agrawal@nxp.com \
--cc=maxime.coquelin@redhat.com \
--cc=mdr@ashroe.eu \
--cc=mingshan.zhang@intel.com \
--cc=nicolas.chautru@intel.com \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
--cc=trix@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).