On Sat, 13 Apr 2019, Waiman Long wrote:
+/* + * We limit the maximum number of readers that can be woken up for a + * wake-up call to not penalizing the waking thread for spending too + * much time doing it. + */ +#define MAX_READERS_WAKEUP 0x100
Although with wake_q this is not really so... Could it at least be rewritten, dunno something like so: /* * Magic number to batch-wakeup waiting readers, even when writers * are also present in the queue. This both limits the amount of * work the waking thread must do (albeit wake_q) and also prevents * any potential counter overflow, however unlikely. */ I'm still not crazy about this artificial limit for the readers-only case, but won't argue. I certainly like the reader/writer case. Thanks, Davidlohr