Follow-up to my long email about KNI performance so we don't have chapter-length quotes in any discussion...
Increasing HZ to 1000 helped, but I'd really like a way to wake the KNI kernel thread up on demand. I'm hoping someone with more Linux kernel experience than I have might have some ideas. Is there some mechanism available that the KNI kernel thread could sleep periodically, but somehow be awoken from user space? Basically looking for something to simulate the HW interrupt that network drivers normally rely on. When KNI packet rates are relatively low, that 1-4 ms latency from the KNI kernel thread sleeping becomes painfully obvious. If my DPDK app knows that KNI traffic is light, it would be nice to "kick" the KNI kernel thread to get to work. So far it looks like adding a syscall is about the only path to let a user-space app kick a kernel thread. I haven't gotten as far as figuring out the details to make sure this all works in practice. Any suggestions or guidance here would be welcome. Thanks, Jay