[RFC 0/8] Cleanup VFIO API and import Linux uAPI header

Burakov, Anatoly anatoly.burakov at intel.com
Wed Sep 3 16:25:10 CEST 2025


On 9/3/2025 11:52 AM, David Marchand wrote:
> Hello,
> 
> On Wed, 3 Sept 2025 at 11:30, Burakov, Anatoly
> <anatoly.burakov at 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


More information about the dev mailing list