03/05/2017 13:29, Harry van Haaren: > The concept is to allow a software function register itself with EAL as > a "service", which requires CPU time to perform its duties. Multiple > services can be registered in an application, if more than one service > exists. The application can retrieve a list of services, and decide how > many "service cores" to use. The number of service cores is removed > from the application usage, and they are mapped to services based on > an application supplied coremask. > > The application now continues as normal, without having to manually > schedule and implement arbitration of CPU time for the SW services.
I think it should not be the DPDK responsibility to schedule threads. The mainloops and scheduling are application design choices. If I understand well the idea of your proposal, it is a helper for the application to configure the thread scheduling of known services. So I think we could add interrupt processing and other thread creations in this concept. Could we also embed the rte_eal_mp_remote_launch() calls in this concept?