From: Thomas Monjalon <thomas@monjalon.net>
To: "Gaëtan Rivet" <gaetan.rivet@6wind.com>
Cc: Matan Azrad <matan@mellanox.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-stable] [PATCH 10/11] net/failsafe: fix sub-device ownership race
Date: Wed, 09 May 2018 23:59:38 +0200 [thread overview]
Message-ID: <1590623.ITgNNa1ZXG@xps> (raw)
In-Reply-To: <20180509140333.kb6pmbno2ixzuj7p@bidouze.vm.6wind.com>
09/05/2018 16:03, Gaëtan Rivet:
> On Wed, May 09, 2018 at 03:43:31PM +0200, Thomas Monjalon wrote:
> > 09/05/2018 15:30, Gaëtan Rivet:
> > > On Wed, May 09, 2018 at 01:01:58PM +0000, Matan Azrad wrote:
> > > > Regarding uint32
> > > > The maximum port id number can be 0xffff.
> > > > In this case the loop will be infinite if we use uint16 to iterate over all the ports.
> > >
> > > If RTE_MAX_ETHPORTS is set to 0xffff, an array rte_eth_devices[0xffff]
> > > would be defined statically, and I think other issues would arise
> > > before our being stuck in an infinite loop?
> > >
> > > In any case, if this had to be fixed, then there should be a
> > > BUILD_BUG_ON RTE_MAX_ETHPORTS being 0xffff, in the relevant part of
> > > librte_ethdev, instead of relying on librte_ethdev users skirting
> > > shortfalls of the library. Anyone iterating on port IDs should expect the
> > > port_id type to be sufficient to hold this information.
> >
> > Interesting thought.
> > I vote for keeping Matan's option as it is correct,
> > and will accept a patch in 18.08 for your option (BUILD_BUG_ON).
> > Maybe we should send a deprecation notice before limiting the max
> > number of ports to 0xfffe? Or is it ridiculous for such unlikely constraint?
> >
> >
>
> No actually the issue is when RTE_MAX_ETHPORTS is equal (or superior) to
> 0x10000.
>
> If this is an issue that you think is worth having a workaround here,
> you should also consider that rte_eth_find_next_owned_by (and
> rte_eth_find_next, even if this one should be phased out), would also
> result in an overflow and an infinite loop.
You get a point. I will remove the workaround uint32_t in v2,
so all the related issues can be fixed at once in a separate patch
using BUILD_BUG_ON.
next prev parent reply other threads:[~2018-05-09 21:59 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-09 9:43 [PATCH 00/11] ethdev: fix race conditions in iterator and notifications Thomas Monjalon
2018-05-09 9:43 ` [PATCH 01/11] ethdev: fix debug log of owner id Thomas Monjalon
2018-05-09 17:53 ` [dpdk-stable] " Ferruh Yigit
2018-05-09 9:43 ` [PATCH 02/11] net/failsafe: fix sub-device visibility Thomas Monjalon
2018-05-09 12:13 ` Gaëtan Rivet
2018-05-09 12:21 ` Thomas Monjalon
2018-05-09 9:43 ` [PATCH 03/11] ethdev: add doxygen comments for each state Thomas Monjalon
2018-05-09 17:54 ` Ferruh Yigit
2018-05-09 9:43 ` [PATCH 04/11] drivers/net: use higher level of probing helper for PCI Thomas Monjalon
2018-05-09 17:54 ` Ferruh Yigit
2018-05-09 9:43 ` [PATCH 05/11] ethdev: add probing finish function Thomas Monjalon
2018-05-10 20:18 ` Stephen Hemminger
2018-05-10 21:49 ` Thomas Monjalon
2018-05-09 9:43 ` [PATCH 06/11] ethdev: allow ownership operations on unused port Thomas Monjalon
2018-05-09 18:00 ` Ferruh Yigit
2018-05-09 19:05 ` Thomas Monjalon
2018-05-10 20:26 ` Stephen Hemminger
2018-05-10 21:53 ` Thomas Monjalon
2018-05-09 9:43 ` [PATCH 07/11] ethdev: add lock to port allocation check Thomas Monjalon
2018-05-09 12:21 ` Gaëtan Rivet
2018-05-09 12:25 ` Thomas Monjalon
2018-05-10 20:35 ` Stephen Hemminger
2018-05-10 22:13 ` Thomas Monjalon
2018-05-10 23:47 ` Thomas Monjalon
2018-05-10 20:33 ` Stephen Hemminger
2018-05-10 22:10 ` Thomas Monjalon
2018-05-10 22:29 ` Stephen Hemminger
2018-05-09 9:43 ` [PATCH 08/11] ethdev: fix port visibility before initialization Thomas Monjalon
2018-05-09 18:03 ` [dpdk-stable] " Ferruh Yigit
2018-05-09 19:08 ` Thomas Monjalon
2018-05-10 20:40 ` Stephen Hemminger
2018-05-10 22:18 ` Thomas Monjalon
2018-05-09 9:43 ` [PATCH 09/11] ethdev: fix port probing notification Thomas Monjalon
2018-05-09 18:07 ` [dpdk-stable] " Ferruh Yigit
2018-05-09 19:13 ` Thomas Monjalon
2018-05-09 9:43 ` [PATCH 10/11] net/failsafe: fix sub-device ownership race Thomas Monjalon
2018-05-09 12:41 ` Gaëtan Rivet
2018-05-09 13:01 ` Matan Azrad
2018-05-09 13:30 ` Gaëtan Rivet
2018-05-09 13:43 ` Thomas Monjalon
2018-05-09 14:03 ` Gaëtan Rivet
2018-05-09 21:59 ` Thomas Monjalon [this message]
2018-05-09 13:26 ` Thomas Monjalon
2018-05-09 9:43 ` [PATCH 11/11] ethdev: fix port removal notification timing Thomas Monjalon
2018-05-09 18:07 ` [dpdk-stable] " Ferruh Yigit
2018-05-09 22:43 ` [PATCH v2 00/11] ethdev: fix race conditions in iterator and notifications Thomas Monjalon
2018-05-09 22:43 ` [PATCH v2 01/11] ethdev: fix debug log of owner id Thomas Monjalon
2018-05-10 9:49 ` Andrew Rybchenko
2018-05-09 22:43 ` [PATCH v2 02/11] net/failsafe: fix sub-device visibility Thomas Monjalon
2018-05-10 9:55 ` Andrew Rybchenko
2018-05-09 22:43 ` [PATCH v2 03/11] ethdev: add doxygen comments for each state Thomas Monjalon
2018-05-10 9:56 ` Andrew Rybchenko
2018-05-09 22:43 ` [PATCH v2 04/11] drivers/net: use higher level of probing helper for PCI Thomas Monjalon
2018-05-10 10:03 ` Andrew Rybchenko
2018-05-09 22:43 ` [PATCH v2 05/11] ethdev: add probing finish function Thomas Monjalon
2018-05-10 10:37 ` Andrew Rybchenko
2018-05-10 10:54 ` Thomas Monjalon
2018-05-10 11:24 ` Andrew Rybchenko
2018-05-09 22:43 ` [PATCH v2 06/11] ethdev: allow ownership operations on unused port Thomas Monjalon
2018-05-10 10:41 ` Andrew Rybchenko
2018-05-09 22:43 ` [PATCH v2 07/11] ethdev: add lock to port allocation check Thomas Monjalon
2018-05-10 10:44 ` Andrew Rybchenko
2018-05-09 22:43 ` [PATCH v2 08/11] ethdev: fix port visibility before initialization Thomas Monjalon
2018-05-10 10:52 ` Andrew Rybchenko
2018-05-09 22:43 ` [PATCH v2 09/11] ethdev: fix port probing notification Thomas Monjalon
2018-05-10 10:53 ` Andrew Rybchenko
2018-05-09 22:43 ` [PATCH v2 10/11] net/failsafe: fix sub-device ownership race Thomas Monjalon
2018-05-10 11:15 ` Andrew Rybchenko
2018-05-10 12:03 ` Matan Azrad
2018-05-09 22:43 ` [PATCH v2 11/11] ethdev: fix port removal notification timing Thomas Monjalon
2018-05-10 11:17 ` Andrew Rybchenko
2018-05-10 11:19 ` [PATCH v2 00/11] ethdev: fix race conditions in iterator and notifications Andrew Rybchenko
2018-05-10 16:23 ` Gaëtan Rivet
2018-05-10 22:27 ` [PATCH " Stephen Hemminger
2018-05-10 23:58 ` [PATCH v3 " Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 01/11] ethdev: fix debug log of owner id Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 02/11] net/failsafe: fix sub-device visibility Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 03/11] ethdev: add doxygen comments for each state Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 04/11] drivers/net: use higher level of probing helper for PCI Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 05/11] ethdev: add probing finish function Thomas Monjalon
2018-05-23 10:09 ` Ferruh Yigit
2018-05-23 10:14 ` Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 06/11] ethdev: allow ownership operations on unused port Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 07/11] ethdev: add lock to port allocation check Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 08/11] ethdev: fix port visibility before initialization Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 09/11] ethdev: fix port probing notification Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 10/11] net/failsafe: fix sub-device ownership race Thomas Monjalon
2018-05-10 23:58 ` [PATCH v3 11/11] ethdev: fix port removal notification timing Thomas Monjalon
2018-05-11 1:14 ` [PATCH v3 00/11] ethdev: fix race conditions in iterator and notifications Ferruh Yigit
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=1590623.ITgNNa1ZXG@xps \
--to=thomas@monjalon.net \
--cc=dev@dpdk.org \
--cc=gaetan.rivet@6wind.com \
--cc=matan@mellanox.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.