From: "Burakov, Anatoly" <anatoly.burakov@intel.com>
To: David Marchand <david.marchand@redhat.com>
Cc: <dev@dpdk.org>, <thomas@monjalon.net>, <maxime.coquelin@redhat.com>
Subject: Re: [RFC 0/8] Cleanup VFIO API and import Linux uAPI header
Date: Wed, 3 Sep 2025 16:25:10 +0200 [thread overview]
Message-ID: <ac5775a3-d5bd-4fec-9b0e-dcf92ca7ed47@intel.com> (raw)
In-Reply-To: <CAJFAV8yQ7D-k4ZjiP6jet2RrhNO0Y18iqXpdidB+AXOgTrFdxA@mail.gmail.com>
On 9/3/2025 11:52 AM, David Marchand wrote:
> Hello,
>
> On Wed, 3 Sept 2025 at 11:30, Burakov, Anatoly
> <anatoly.burakov@intel.com> wrote:
>>
>> On 9/3/2025 9:28 AM, David Marchand wrote:
>>> The VFIO headers have a number of issues:
>>> - showing to the world a lot of internal considerations,
>>> - defining macros with the VFIO_ namespace (confusing, and a source of
>>> conflicts with the VFIO official uAPI),
>>> - wrapping around VFIO uAPI in case the kernel headers do not contain the
>>> expected API (putting the burden on DPDK developers to find the right
>>> way to detect the presence of a VFIO feature),
>>> - (somehow related to the previous point) supporting old version of the
>>> Linux kernel while DPDK now requires a v5.4 Linux kernel at least,
>>>
>>> This series proposes to cleanup those headers by hiding as much as
>>> possible internal macros and structures, then removing the explicit
>>> inclusion of linux/vfio.h from rte_vfio.h (pushing this inclusion to the
>>> application which may want to do some funny stuff with VFIO and should
>>> already include this header on its own) and finally importing the VFIO
>>> uAPI header from Linux v6.15 for internal consumption by DPDK
>>> components.
>>>
>>>
>>
>> I've been working on something like this myself, so it'll be interesting
>> to compare notes! I too found that refactoring VFIO is a nightmare due
>> to how much stuff is exposed to external headers.
>
> Oh cool.
>
> A v2 is neeed, as this series breaks FreeBSD compilation.
> I'll wait for comments before sending.
>
>
Feel free to submit v2 at your own pace, as it might take a few days
before I can get to review this properly. I must say including uAPI in
DPDK is not something I thought of as I would've considered this to be a
very bold step, but it actually fixes a lot of problems in a really neat
way, so I like this idea.
--
Thanks,
Anatoly
next prev parent reply other threads:[~2025-09-03 14:25 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-03 7:28 [RFC 0/8] Cleanup VFIO API and import Linux uAPI header David Marchand
2025-09-03 7:28 ` [RFC 1/8] vfio: remove confusing check on VFIO presence David Marchand
2025-09-03 9:38 ` Xu, Rosen
2025-09-03 7:28 ` [RFC 2/8] vfio: assume VFIO is always and only present on Linux David Marchand
2025-09-03 7:28 ` [RFC 3/8] vfio: remove public wrappers David Marchand
2025-09-03 7:28 ` [RFC 4/8] eal/linux: remove more internal VFIO macros David Marchand
2025-09-03 7:28 ` [RFC 5/8] eal/linux: remove internal VFIO wrappers for old Linux David Marchand
2025-09-03 7:28 ` [RFC 6/8] vfio: stop including Linux kernel header in public and driver API David Marchand
2025-09-03 9:38 ` Xu, Rosen
2025-09-03 7:28 ` [RFC 7/8] uapi: import VFIO header David Marchand
2025-09-03 7:28 ` [RFC 8/8] vfio: use imported uAPI header David Marchand
2025-09-03 9:38 ` Xu, Rosen
2025-09-03 7:50 ` [RFC 0/8] Cleanup VFIO API and import Linux " David Marchand
2025-09-03 9:29 ` Burakov, Anatoly
2025-09-03 9:52 ` David Marchand
2025-09-03 14:25 ` Burakov, Anatoly [this message]
2025-09-03 15:13 ` [RFC v2 0/9] " David Marchand
2025-09-03 15:13 ` [RFC v2 1/9] drivers: remove unneeded VFIO header inclusion David Marchand
2025-09-03 15:13 ` [RFC v2 2/9] vfio: remove confusing check on VFIO presence David Marchand
2025-09-03 15:13 ` [RFC v2 3/9] vfio: assume VFIO is always and only present on Linux David Marchand
2025-09-03 15:13 ` [RFC v2 4/9] vfio: remove public wrappers David Marchand
2025-09-03 15:13 ` [RFC v2 5/9] eal/linux: remove more internal VFIO macros David Marchand
2025-09-03 15:13 ` [RFC v2 6/9] eal/linux: remove internal VFIO wrappers for old Linux David Marchand
2025-09-03 15:22 ` [RFC v2 0/9] Cleanup VFIO API and import Linux uAPI header David Marchand
2025-09-03 15:17 ` David Marchand
2025-09-03 15:17 ` [RFC v2 1/9] drivers: remove unneeded VFIO header inclusion David Marchand
2025-09-09 14:05 ` Burakov, Anatoly
2025-09-03 15:17 ` [RFC v2 2/9] vfio: remove confusing check on VFIO presence David Marchand
2025-09-19 13:14 ` Burakov, Anatoly
2025-09-03 15:17 ` [RFC v2 3/9] vfio: assume VFIO is always and only present on Linux David Marchand
2025-09-09 15:17 ` Burakov, Anatoly
2025-09-03 15:17 ` [RFC v2 4/9] vfio: remove public wrappers David Marchand
2025-09-09 15:37 ` Burakov, Anatoly
2025-09-18 8:38 ` David Marchand
2025-09-03 15:17 ` [RFC v2 5/9] eal/linux: remove more internal VFIO macros David Marchand
2025-09-10 12:15 ` Burakov, Anatoly
2025-09-03 15:17 ` [RFC v2 6/9] eal/linux: remove internal VFIO wrappers for old Linux David Marchand
2025-09-19 13:15 ` Burakov, Anatoly
2025-09-03 15:17 ` [RFC v2 7/9] vfio: stop including Linux kernel header in public and driver API David Marchand
2025-09-17 14:34 ` Burakov, Anatoly
2025-09-03 15:17 ` [RFC v2 8/9] uapi: import VFIO header David Marchand
2025-09-06 4:11 ` Stephen Hemminger
2025-09-18 8:48 ` Thomas Monjalon
2025-09-18 15:16 ` Stephen Hemminger
2025-09-19 8:28 ` David Marchand
2025-09-03 15:17 ` [RFC v2 9/9] vfio: use imported uAPI header David Marchand
2025-09-04 7:08 ` [RFC v2 0/9] Cleanup VFIO API and import Linux " David Marchand
2025-09-19 8:37 ` [PATCH v3 00/10] " David Marchand
2025-09-19 8:37 ` [PATCH v3 01/10] uapi: fix include guards in VDUSE imported header David Marchand
2025-10-01 8:28 ` Maxime Coquelin
2025-09-19 8:37 ` [PATCH v3 02/10] drivers: remove unneeded VFIO header inclusion David Marchand
2025-09-19 8:38 ` [PATCH v3 03/10] vfio: remove confusing check on VFIO presence David Marchand
2025-09-19 8:38 ` [PATCH v3 04/10] vfio: assume VFIO is always and only present on Linux David Marchand
2025-09-19 8:38 ` [PATCH v3 05/10] vfio: remove public wrappers David Marchand
2025-09-19 8:38 ` [PATCH v3 06/10] eal/linux: remove more internal VFIO macros David Marchand
2025-09-19 8:38 ` [PATCH v3 07/10] eal/linux: remove internal VFIO wrappers for old Linux David Marchand
2025-09-19 8:38 ` [PATCH v3 08/10] vfio: stop including Linux kernel header in public and driver API David Marchand
2025-09-19 8:38 ` [PATCH v3 09/10] uapi: import VFIO header David Marchand
2025-09-19 8:38 ` [PATCH v3 10/10] vfio: use imported uAPI header David Marchand
2025-10-01 15:24 ` [PATCH v3 00/10] Cleanup VFIO API and import Linux " David Marchand
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=ac5775a3-d5bd-4fec-9b0e-dcf92ca7ed47@intel.com \
--to=anatoly.burakov@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=maxime.coquelin@redhat.com \
--cc=thomas@monjalon.net \
/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.