[PATCH 0/1] hidraw: Improve subsytem throughput

From: André Almeida
Date: Tue Nov 30 2021 - 08:30:18 EST


Hi,

In a discussion about SteamVR for Linux[0], users found out that
modifying hidraw code would lead to more stable frame per seconds. This
patch aims to fix a bottleneck at hidraw subsystem to increase the
system throughput when using a lot of HIDs at same time.

I created an artificial benchmark tool[1] to test this. It issues a lot of
ioctls in parallel for 5 HID devices. While the original kernel took
around 1570 nsecs to complete all the calls, after applying this patch
it took around 412 nsecs, almost 4x faster.

Thanks,
André

[0] https://github.com/ValveSoftware/SteamVR-for-Linux/issues/21
[1] https://gist.github.com/andrealmeid/b495999b8efce3c741e14a709a21e49b

André Almeida (1):
HID: hidraw: Replace hidraw device table mutex with a rwsem

drivers/hid/hidraw.c | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)

--
2.34.1