You also tend to end up dedicating cores. That is a side effect of spinning in a loop checking for the next packet/queue processing rather than waiting for an interrupt.
There is also the additional overhead of VFIO/IOMMU's which can easily eat double digit perf vs doing the processing in a trusted kernel context.
So with a normal machine the cores/etc are balanced between processes, with DPDK/etc thats hard as some of the cores will be 100% consumed in those spinloops even if your experiencing 5% line rate.
There is also the additional overhead of VFIO/IOMMU's which can easily eat double digit perf vs doing the processing in a trusted kernel context.
So with a normal machine the cores/etc are balanced between processes, with DPDK/etc thats hard as some of the cores will be 100% consumed in those spinloops even if your experiencing 5% line rate.