Input: evdev - per-client waitgroups
authorKenny Levinsen <kl@kl.wtf>
Mon, 5 Oct 2020 18:15:55 +0000 (11:15 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 7 Oct 2020 01:34:15 +0000 (18:34 -0700)
commit4ba8b8aec58bf8de3ca29ea08d7eb11a127e7b90
treed177b47f642cc884e1f45dee46529b842ce93755
parent470d154a62c4ef22b4de384ae91798851c9631a7
Input: evdev - per-client waitgroups

All evdev clients share a common waitgroup. On new input events, all
clients waiting on this waitgroup are woken up, even those filtering out
the events, possibly more than once per event. This leads to duplicated
and unwanted wakeups.

Split the shared waitgroup into per-client waitgroups for more
fine-grained wakeups.

Signed-off-by: Kenny Levinsen <kl@kl.wtf>
Link: https://lore.kernel.org/r/20200429184126.2155-1-kl@kl.wtf
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/evdev.c