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

Reply via email to