linux/drivers/input
Jeff Brown cdda911c34 Input: evdev - only signal polls on full packets
This patch modifies evdev so that it only becomes readable when
the buffer contains an EV_SYN/SYN_REPORT event.

On SMP systems, it is possible for an evdev client blocked on poll()
to wake up and read events from the evdev ring buffer at the same
rate as they are enqueued.  This can result in high CPU usage,
particularly for MT devices, because the client ends up reading
events one at a time instead of reading complete packets.

We eliminate this problem by making the device readable only when
the buffer contains at least one complete packet.  This causes
clients to block until the entire packet is available.

Signed-off-by: Jeff Brown <jeffbrown@android.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-04-26 22:16:38 -07:00
..
gameport Merge branch 'next' into for-linus 2011-03-18 23:38:50 -07:00
joystick Fix common misspellings 2011-03-31 11:26:23 -03:00
keyboard Merge commit 'v2.6.39-rc4' into next 2011-04-22 23:35:25 -07:00
misc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-04-18 13:29:03 -07:00
mouse Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6 2011-04-07 11:14:49 -07:00
serio Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6 2011-04-07 11:14:49 -07:00
tablet Input: wacom - add support for Lenovo tablet ID (0xE6) 2011-03-31 22:41:24 -07:00
touchscreen Merge commit 'v2.6.39-rc4' into next 2011-04-22 23:35:25 -07:00
apm-power.c Input: use pr_fmt and pr_<level> 2010-11-30 23:10:26 -08:00
evbug.c Input: use pr_fmt and pr_<level> 2010-11-30 23:10:26 -08:00
evdev.c Input: evdev - only signal polls on full packets 2011-04-26 22:16:38 -07:00
ff-core.c Input: use pr_fmt and pr_<level> 2010-11-30 23:10:26 -08:00
ff-memless.c Input: use pr_fmt and pr_<level> 2010-11-30 23:10:26 -08:00
fixp-arith.h changed email 2007-10-20 00:47:32 +02:00
input-compat.c Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-compat.h [IA64] Remove COMPAT_IA32 support 2010-02-08 10:42:17 -08:00
input-mt.c input: mt: Move tracking and pointer emulation to input-mt 2010-12-16 10:41:38 +01:00
input-polldev.c Input: input-polldev - fix a couple of typos 2011-01-31 21:17:41 -08:00
input.c Input: estimate number of events per packet 2011-04-18 10:15:43 -07:00
joydev.c Fix common misspellings 2011-03-31 11:26:23 -03:00
Kconfig Input: xen-kbdfront - move to drivers/input/misc 2011-03-16 23:26:01 -07:00
Makefile Input: xen-kbdfront - move to drivers/input/misc 2011-03-16 23:26:01 -07:00
mousedev.c Input: use pr_fmt and pr_<level> 2010-11-30 23:10:26 -08:00
sparse-keymap.c Input: sparse-keymap - report KEY_UNKNOWN for unknown scan codes 2011-03-28 23:34:52 -07:00