From: Thomas Monjalon <thomas@monjalon.net>
To: Olivier Matz <olivier.matz@6wind.com>,
Houssem Bouhlel <houssem.bouhlel@6wind.com>,
David Marchand <david.marchand@redhat.com>
Cc: stable@dpdk.org, dev <dev@dpdk.org>,
"Burakov, Anatoly" <anatoly.burakov@intel.com>,
Bruce Richardson <bruce.richardson@intel.com>
Subject: Re: [dpdk-stable] [PATCH] bus/pci: fix selection of default device NUMA node
Date: Thu, 14 Jul 2022 15:46:22 +0200 [thread overview]
Message-ID: <3095495.e9paKfgaYA@thomas> (raw)
In-Reply-To: <CAJFAV8y16+XMUx4ZMasH6tdqRcAKM+OPB0dPNxWkq0UGuUNBOg@mail.gmail.com>
03/11/2021 21:36, David Marchand:
> On Fri, Oct 29, 2021 at 10:45 AM Olivier Matz <olivier.matz@6wind.com> wrote:
> >
> > +CC David
> >
> > On Tue, Oct 26, 2021 at 11:17:08AM +0200, Olivier Matz wrote:
> > > On Tue, Oct 26, 2021 at 11:06:10AM +0200, Houssem Bouhlel wrote:
> > > > There can be dev binding issue when no hugepages
> > > > are allocated for socket 0.
> > > > To avoid this, set device numa node value based on
> > > > the first lcore instead of 0.
> > > >
> > > > Fixes: 831dba47bd36 ("bus/vmbus: add Hyper-V virtual bus support")
> > >
> > > Sorry, the Fixes line is wrong. This is the correct one:
> > > Fixes: 8a04cb612589 ("pci: set default numa node for broken systems")
> > >
> > > > Cc: stable@dpdk.org
> > > >
> > > > Signed-off-by: Houssem Bouhlel <houssem.bouhlel@6wind.com>
> > > > Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
> > > > ---
> > > > drivers/bus/pci/pci_common.c | 4 +++-
> > > > 1 file changed, 3 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c
> > > > index f8fff2c98ebf..c70ab2373c79 100644
> > > > --- a/drivers/bus/pci/pci_common.c
> > > > +++ b/drivers/bus/pci/pci_common.c
> > > > @@ -166,6 +166,7 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
> > > > struct rte_pci_device *dev)
> > > > {
> > > > int ret;
> > > > + unsigned int socket_id;
> > > > bool already_probed;
> > > > struct rte_pci_addr *loc;
> > > >
> > > > @@ -194,7 +195,8 @@ rte_pci_probe_one_driver(struct rte_pci_driver *dr,
> > > > if (rte_socket_count() > 1)
> > > > RTE_LOG(INFO, EAL, "Device %s is not NUMA-aware, defaulting socket to 0\n",
> > > > dev->name);
> > >
> > > One more comment (sorry, I should have done it before you send the mail):
> > > We should move this log below, and use the socket_id instead of 0.
> > >
> > > > - dev->device.numa_node = 0;
> > > > + socket_id = rte_lcore_to_socket_id(rte_get_next_lcore(-1, 0, 0));
> > > > + dev->device.numa_node = socket_id;
> >
> > After some offline discussions with David, some additional comments:
> >
> > - a similar change may be needed in other bus drivers
Yes we need to be consistent.
You need to check what is done in all OSes as well.
Example of a place to look at:
3c6e58102510 ("bus/pci: fix unknown NUMA node value on Windows")
> > - instead of setting the numa node to an existing socket, it can make
> > more sense to keep its value to unknown (-1). This would however be a
> > behavior change for pci bus, which returns 0 since 2015 for unknown
> > cases. See:
> > 81f8d2317df2 ("eal/linux: fix socket value for undetermined numa node")
> > 8a04cb612589 ("pci: set default numa node for broken systems")
> >
> > I'll tend to be in favor of using -1. Any other opinion?
> > Should we announce a behavior change in this case?
>
> Good summary.
> I copied some more people.
>
> I am for -1 too (as a way to indicate "I don't know what this PCI
> device affinity is").
-1 is SOCKET_ID_ANY
I suppose it is OK to use SOCKET_ID_ANY when we have no other info.
prev parent reply other threads:[~2022-07-14 13:46 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-26 9:06 [dpdk-dev] [PATCH] bus/pci: fix selection of default device NUMA node Houssem Bouhlel
2021-10-26 9:17 ` Olivier Matz
2021-10-29 8:44 ` Olivier Matz
2021-11-03 20:36 ` David Marchand
2021-11-04 8:57 ` Olivier Matz
2022-07-14 13:46 ` Thomas Monjalon [this message]
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=3095495.e9paKfgaYA@thomas \
--to=thomas@monjalon.net \
--cc=anatoly.burakov@intel.com \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=houssem.bouhlel@6wind.com \
--cc=olivier.matz@6wind.com \
--cc=stable@dpdk.org \
/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.