On Sat, Jun 4, 2022 at 2:39 PM Morten Brørup <m...@smartsharesystems.com> wrote:
>
> I would like the DPDK community to change its view on compile time options. 
> Here is why:
>
>
>
> Application specific performance micro-optimizations like “fast mbuf free” 
> and “mbuf direct re-arm” are being added to DPDK and presented as features.
>
>
>
> They are not features, but optimizations, and I don’t understand the need for 
> them to be available at run-time!
>
>
>
> Instead of adding a bunch of exotic exceptions to the fast path of the PMDs, 
> they should be compile time options. This will improve performance by 
> avoiding branches in the fast path, both for the applications using them, and 
> for generic applications (where the exotic code is omitted).

Agree. I think, keeping the best of both worlds would be

-Enable the feature/optimization as runtime
-Have a compile-time option to disable the feature/optimization as an override.

>
>
>
> Please note that I am only talking about the performance optimizations that 
> are limited to application specific use cases. I think it makes sense to 
> require that performance optimizing an application also requires recompiling 
> the performance critical libraries used by it.
>
>
>
> Allowing compile time options for application specific performance 
> optimizations in DPDK would also open a path for other optimizations, which 
> can only be achieved at compile time, such as “no fragmented packets”, “no 
> attached mbufs” and “single mbuf pool”. And even more exotic optimizations, 
> such as the “indexed mempool cache”, which was rejected due to ABI violations 
> – they could be marked as “risky and untested” or similar, but still be part 
> of the DPDK main repository.
>
>
>
>
>
> Med venlig hilsen / Kind regards,
>
> -Morten Brørup
>
>

Reply via email to