DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: "Burakov, Anatoly" <anatoly.burakov@intel.com>,
	Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org, Harry van Haaren <harry.van.haaren@intel.com>,
	david.marchand@redhat.com
Subject: Re: [dpdk-dev] [PATCH] raw/ioat: fix bus requiring virtual addressing when no devs
Date: Mon, 10 May 2021 12:18:50 +0200	[thread overview]
Message-ID: <2168873.xxFOWYceCV@thomas> (raw)
In-Reply-To: <YJQMfTcvK8pyrRkh@bricha3-MOBL.ger.corp.intel.com>

06/05/2021 17:34, Bruce Richardson:
> On Thu, May 06, 2021 at 04:27:03PM +0100, Burakov, Anatoly wrote:
> > On 06-May-21 4:09 PM, Bruce Richardson wrote:
> > > If after a bus scan, there are no devices using a particular bus, then
> > > that bus should not be taken into account when deciding whether DPDK
> > > should be run in VA or PA addressing mode. This becomes an issue when
> > > the DSA bus driver code is used on a system without an IOMMU. The PCI
> > > bus correctly reports that it only works in PA mode, while the DSA bus -
> > > also correctly - reports that it works only in VA mode. The difference
> > > is that there will be no devices found in a scan for the DSA bus, since
> > > the kernel driver can only present those to userspace in the presence of
> > > an IOMMU.
> > > 
> > > While we could change DSA instance to always report that it does not
> > > care about the addressing mode, this would imply that it could be used
> > > with DPDK in PA mode which is not the case. Therefore, this patch
> > > changes the driver to report DC (don't care) in the case where no
> > > devices are present, and VA otherwise.
> > > 
> > > NOTE: this addressing mode use of VA-only applies only in the case of
> > > using DSA through the idxd kernel driver. The use of DSA though vfio-pci
> > > is unaffected and works as with other PCI devices.
> > > 
> > > Fixes: b7aaf417f936 ("raw/ioat: add bus driver for device scanning automatically")
> > > 
> > > Reported-by: Harry van Haaren <harry.van.haaren@intel.com>
> > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > > ---
> > 
> > This would be a good opportunity to start a discussion on a "proper" fix for
> > this, because while this hack is acceptable being so close to release, IMO
> > we need a more general solution. Maybe a bus API reporting number of scanned
> > devices would be nice to have, as EAL will then be able to ignore the
> > opinion of those buses who don't have any devices.
> > 
> > The "number of devices" is a bit of a fluid concept, as number of scanned
> > devices may not be the same as number of *probed* devices, and there's also
> > hotplug. However, i think that we can ignore all that, because we care about
> > initialization only - any other issues can be addressed by forcing
> > --iova-mode by the user, as we cannot really do anything about hotplug or
> > devices that fail to probe.
> > 
> > Thoughts?
> > 
> Perhaps rather than just "number of devices" we should have buses report
> whether they are relevant or not. For example, there are a number of
> SoC-specific bus drivers in DPDK, which are presumably only relevant on
> particular SoCs. Similarly here for the DSA bus, the presence of the
> devices is a useful proxy for relevance - especially since it doesn't
> support hotplug - but if we had a way to report relevance/non-relevance DSA
> could just report itself as not-relevant in case where there is no IOMMU
> enabled on the system, or when the "idxd" kernel driver is not present, for
> example, and then have EAL skip even asking about PA/VA support

I think what you are describing is the same as reporting "don't care".
Why do you consider it as a hack?



  reply	other threads:[~2021-05-10 10:18 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-06 15:09 Bruce Richardson
2021-05-06 15:16 ` Burakov, Anatoly
2021-05-06 15:27   ` Van Haaren, Harry
2021-05-07 12:30     ` Walsh, Conor
2021-05-10 10:37       ` Thomas Monjalon
2021-05-06 15:27 ` Burakov, Anatoly
2021-05-06 15:34   ` Bruce Richardson
2021-05-10 10:18     ` Thomas Monjalon [this message]
2021-05-10 11:20       ` Bruce Richardson
2021-05-10 12:02         ` Thomas Monjalon
2021-05-10 10:13 ` Thomas Monjalon
2021-05-10 10:22   ` Bruce Richardson

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=2168873.xxFOWYceCV@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=harry.van.haaren@intel.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).