Re: [PATCH v4 10/16] locking/rwsem: Wake up almost all readers in wait queue

From: Davidlohr Bueso
Date: Tue Apr 16 2019 - 12:50:51 EST


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