DPDK patches and discussions
 help / color / mirror / Atom feed
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

  reply	other threads:[~2025-09-03 14:25 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-03  7:28 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-03 15:17   ` [RFC v2 2/9] vfio: remove confusing check on VFIO presence David Marchand
2025-09-03 15:17   ` [RFC v2 3/9] vfio: assume VFIO is always and only present on Linux David Marchand
2025-09-03 15:17   ` [RFC v2 4/9] vfio: remove public wrappers David Marchand
2025-09-03 15:17   ` [RFC v2 5/9] eal/linux: remove more internal VFIO macros David Marchand
2025-09-03 15:17   ` [RFC v2 6/9] eal/linux: remove internal VFIO wrappers for old Linux David Marchand
2025-09-03 15:17   ` [RFC v2 7/9] vfio: stop including Linux kernel header in public and driver API David Marchand
2025-09-03 15:17   ` [RFC v2 8/9] uapi: import VFIO header 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

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 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).