On 12/10/2024 10:41 AM, Mattias Rönnblom wrote:

<snip>


Maybe the DAG is available on the build (meson) level, and thus the code can be generated out of that?

There is in fact a patchset that produces just that kind of graph:

https://patches.dpdk.org/project/dpdk/list/?series=34055

It's currently not very consumable by DPDK and it'd be a difficult task to integrate it into DPDK in such a way as to allow arbitrary libraries to use it, but building such a graph from build system is doable.

However, IMO it would be easier to build such a graph at init time, where a component would register its dependencies with EAL, and EAL would handle the rest. That way, the bulk of the work lands in EAL, while component developers only have to specify the things they depend on. It could be a little tricky in that some components may depend on e.g. IPC which isn't a "component" as much as it's an init stage, but depending on IPC could just as well be depending on EAL having done init, while for internal components we can come up with some sort of internal init order mechanism.

--
Thanks,
Anatoly

Reply via email to