From: Thomas Monjalon <thomas@monjalon.net>
To: "Burakov, Anatoly" <anatoly.burakov@intel.com>
Cc: Takeshi Yoshimura <tyos@jp.ibm.com>,
dev@dpdk.org, David Christensen <drc@linux.vnet.ibm.com>
Subject: Re: [dpdk-dev] [PATCH] vfio: retry creating sPAPR DMA window
Date: Wed, 10 Jul 2019 14:17:46 +0200 [thread overview]
Message-ID: <86842673.aHDJ4ghJsv@xps> (raw)
In-Reply-To: <58453aeb-de91-8297-06db-73e895667dac@intel.com>
10/07/2019 12:32, Burakov, Anatoly:
> On 07-Jun-19 3:28 AM, Takeshi Yoshimura wrote:
> > sPAPR allows only page_shift from VFIO_IOMMU_SPAPR_TCE_GET_INFO ioctl.
> > However, Linux 4.17 or before returns incorrect page_shift for Power9.
> > I added the code for retrying creation of sPAPR DMA window.
> >
> > Signed-off-by: Takeshi Yoshimura <tyos@jp.ibm.com>
> > ---
> > lib/librte_eal/linux/eal/eal_vfio.c | 26 +++++++++++++++++++++++---
> > 1 file changed, 23 insertions(+), 3 deletions(-)
> >
> > diff --git a/lib/librte_eal/linux/eal/eal_vfio.c b/lib/librte_eal/linux/eal/eal_vfio.c
> > index 6892a2c14..f16c5c3c0 100644
> > --- a/lib/librte_eal/linux/eal/eal_vfio.c
> > +++ b/lib/librte_eal/linux/eal/eal_vfio.c
> > @@ -1448,9 +1448,29 @@ vfio_spapr_create_new_dma_window(int vfio_container_fd,
> > /* create new DMA window */
> > ret = ioctl(vfio_container_fd, VFIO_IOMMU_SPAPR_TCE_CREATE, create);
> > if (ret) {
> > - RTE_LOG(ERR, EAL, " cannot create new DMA window, "
> > - "error %i (%s)\n", errno, strerror(errno));
> > - return -1;
> > + /* try possible page_shift and levels for workaround */
> > + uint32_t levels;
> > +
> > + for (levels = 1; levels <= info.ddw.levels; levels++) {
> > + uint32_t pgsizes = info.ddw.pgsizes;
>
> +CC POWER maintainer from MAINTAINERS file.
>
> This is failing compilation on some older distros (Fedora 20, Ubuntu 14.04):
>
>
> /root/dpdk/lib/librte_eal/linux/eal/eal_vfio.c: In function
> ‘vfio_spapr_create_new_dma_window’:
> /root/dpdk/lib/librte_eal/linux/eal/eal_vfio.c:1451:34: error: ‘struct
> vfio_iommu_spapr_tce_info’ has no member named ‘ddw’
> for (levels = 1; levels <= info.ddw.levels; levels++) {
> ^
> /root/dpdk/lib/librte_eal/linux/eal/eal_vfio.c:1452:27: error: ‘struct
> vfio_iommu_spapr_tce_info’ has no member named ‘ddw’
> uint32_t pgsizes = info.ddw.pgsizes;
> ^
> /root/dpdk/lib/librte_eal/linux/eal/eal_vfio.c: At top level:
> cc1: error: unrecognized command line option
> "-Wno-address-of-packed-member" [-Werror]
> cc1: all warnings being treated as errors
> make[7]: *** [eal_vfio.o] Error 1
> make[7]: *** Waiting for unfinished jobs....
> make[6]: *** [eal] Error 2
> make[5]: *** [linux] Error 2
> make[4]: *** [librte_eal] Error 2
> make[3]: *** [lib] Error 2
> make[2]: *** [all] Error 2
> make[1]: *** [pre_install] Error 2
> make: *** [install] Error 2
>
>
> Looking at the eal_vfio.h we are handling case of missing sPAPR info/ddw
> structures, but this isn't simply a case of a missing struct; rather it
> is an issue of differing definitions between what recent kernels have,
> and what older kernels had.
>
> @Thomas Do we still support these older distros?
If the kernel is not maintained, we don't support it.
For most distros, Linux < 3.16 is not maintained.
next prev parent reply other threads:[~2019-07-10 12:17 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-07 2:28 [dpdk-dev] [PATCH] vfio: retry creating sPAPR DMA window Takeshi Yoshimura
2019-07-04 16:01 ` Thomas Monjalon
2019-07-08 16:47 ` David Christensen
2019-07-08 17:45 ` Thomas Monjalon
2019-07-09 10:22 ` Burakov, Anatoly
2019-07-05 8:15 ` Burakov, Anatoly
2019-07-07 21:21 ` Thomas Monjalon
2019-07-10 10:32 ` Burakov, Anatoly
2019-07-10 12:17 ` Thomas Monjalon [this message]
2019-07-10 12:35 ` Burakov, Anatoly
2019-07-10 12:39 ` Thomas Monjalon
2019-07-10 16:01 ` Burakov, Anatoly
2019-07-11 0:50 ` David Christensen
2019-07-11 2:18 ` Takeshi T Yoshimura
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=86842673.aHDJ4ghJsv@xps \
--to=thomas@monjalon.net \
--cc=anatoly.burakov@intel.com \
--cc=dev@dpdk.org \
--cc=drc@linux.vnet.ibm.com \
--cc=tyos@jp.ibm.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.