On 8/20/2025 8:42 AM, Morten Brørup wrote:
From: Stephen Hemminger [mailto:step...@networkplumber.org]
Sent: Monday, 18 August 2025 18.34

On Wed, 12 Mar 2025 16:15:29 -0700
Stephen Hemminger <step...@networkplumber.org> wrote:

This series adds common macros for safe iteration over lists.
It is a subset copy of the macros from FreeBSD that are
missing from the Linux header sys/queue.h

Chose this over several other options:
   - let each driver define their own as needed.
     One Intel driver got it wrong, others will as well.
   - rename all the queue macros to RTE_XXX variants.
     Seems like useless renaming and confusion.
   - Several distros have libbsd package with the correct macros.
     But adding yet another dependency to DPDK would be annoying
     for something this basic.

There are more macros in FreeBSD header that could be useful,
but we can add those later as needed here.

  lib/eal/include/rte_queue.h              | 174 +++++++++++++++++++++++

Revisiting this and wondering about naming...
The file rte_queue.h is not really DPDK (ie not related to runtime
environment).
Thinking of calling it bsd_queue.h as a compromise

Since it replaces sys/queue.h, then maybe sys_queue.h (or rte_sys_queue.h).

But more importantly:
It is not really DPDK, and thus shouldn't really be part of the EAL.
So here's an idea:
As part of de-bloating the EAL, can we somehow add a new directory structure for 
independent "libraries" like this?
And treat this rte_queue.h file as a "header file only" library, and put it 
there.
Then, build wise, the EAL could depend on this "library".


IMO it depends on what you mean by "EAL". EAL is environment abstraction layer, and this header abstracts OS, thereby meeting description of an "environment abstraction layer"?

--
Thanks,
Anatoly

Reply via email to