AtomicNotificationQueue
Summary: This is a lock-free replacement for NotificationQueue. Unlike notification queue it supports only one consumer, which allows simplifying the internal structure a lot and avoiding any use of spin locks. Another improvement comparing to NotificationQueue is the use of epoll edge-triggered events. This allows completely eliminating read syscals, since we don't need to drain eventfd to stop it from waking up the epoll loop. Differential Revision: D24297158 fbshipit-source-id: 1f418d861210f6dcad52b4d663f49eb2e8f3ae8c
Showing
This diff is collapsed.
Please register or sign in to comment