HW-EPOLL: Hardware-Assisted User Space Event Notification for Epoll Syscall
摘要
In Linux, numerous applications use the epoll() kernel functionality as an efficient mechanism for being notified when one out of multiple events occurs. However, as epoll() can only notify of operating system mechanisms, a costly syscall is required for notifying about an event in user space. To mitigate this, we propose HW-EPOLL, which allows generating events purely in user space. In HW-EPOLL, the generated event is written into a kernel/user space shared data structure, and the notification of a sleeping thread about the occurred event is offloaded to a hardware unit. This results in a 90% CPU cycle reduction for user space event generation while still supporting multiple event sources.