On 2019-06-14 11:18, Anoob Joseph wrote:
Hi Mattias,
A more extensive description of the purpose of the eventmode helper
library would be helpful.

Is this supposed to be a generic framework for real-world
applications, or only something to simplify DPDK the implementation of
DPDK example programs and similar?
This is intended as a generic framework, but the initial targets would be limited to DPDK example applications. For any application to use an event device for dynamic load balancing, it has to configure the event device and the adapters. Configuring the adapters would involve providing various parameters based on which the dynamic scheduling should happen. But requiring the application to do all this configuration would make the application complicated as well as the same code has to be repeated for a new application. Event mode helper tries to solve that. All the complex configuration would be implemented by the helper library and the helper library would provide a default conf as well.


The task of configuring eventdev and its adaptors, and ethernet devices is a daunting task indeed. If we could simplify that, that would be great.

However, the flexibility and many of the parameters are there for a reason (those there aren't should be deprecated). I would expect a real-world application to tweak quite a few of them. I know our applications do.

I worry I have is that if you put eventmode (in its current form) forward as a generic framework, applications might start using it, only to realize it's not flexible enough, and then eventmode is just an extra layer, increasing rather than reducing complexity. Or even worse, the application's developers are forced to do a big-bang switch over to using the event and ethernet device APIs directly, in case they can't patch DPDK to work around the eventmode-assumption-that-didn't-hold-for-them.

You could always add flexibility to the framework (as you encounter a need for it), but then it will grow in complexity as well.

A less ambitious approach would be to instead do a properly modularized, non-trivial eventdev example application, for the applications to start off from, instead of a generic library.

I would expect it to be very difficult to design a truly generic application framework for eventdev-based applications. Such a framework would tie everything that's needed in a non-trivial application together. If successful, it would be a huge step toward making DPDK an operating system for packet processing applications.

What event devices have you tested with?

Reply via email to