mbox series

[0/1] hidraw: Improve subsytem throughput

Message ID 20211130132957.8480-1-andrealmeid@collabora.com (mailing list archive)
Headers show
Series hidraw: Improve subsytem throughput | expand

Message

André Almeida Nov. 30, 2021, 1:29 p.m. UTC
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(-)