Input: Send events one packet at a time
authorHenrik Rydberg <rydberg@euromail.se>
Sat, 15 Sep 2012 13:23:35 +0000 (15:23 +0200)
committerHenrik Rydberg <rydberg@euromail.se>
Wed, 19 Sep 2012 17:50:18 +0000 (19:50 +0200)
commit4369c64c79a22b98d3b7eff9d089196cd878a10a
tree8194f7190e5beffdfea3826725b393a9c48e64cc
parent352ac4bd018005cfa6f844433a98aa0b724fa8db
Input: Send events one packet at a time

On heavy event loads, such as a multitouch driver, the irqsoff latency
can be as high as 250 us.  By accumulating a frame worth of data
before passing it on, the latency can be dramatically reduced.  As a
side effect, the special EV_SYN handling can be removed, since the
frame is now atomic.

This patch adds the events() handler callback and uses it if it
exists. The latency is improved by 50 us even without the callback.

Cc: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Tested-by: Ping Cheng <pingc@wacom.com>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
drivers/input/input.c
include/linux/input.h