tty: prevent unnecessary work queue lock checking on flip buffer copy
authorIvo Sieben <meltedpianoman@gmail.com>
Thu, 27 Sep 2012 12:02:05 +0000 (14:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Oct 2012 23:47:51 +0000 (16:47 -0700)
commitcee4ad1ed90a0959fc29f9d30a2526e5e9522cfa
tree32b33be64fb490a9f7d3c704dea0a44ea3138ca6
parentdaee779718a319ff9f83e1ba3339334ac650bb22
tty: prevent unnecessary work queue lock checking on flip buffer copy

When low_latency flag is set the TTY receive flip buffer is copied to the
line discipline directly instead of using a work queue in the background.
Therefor only in case a workqueue is actually used for copying data to the
line discipline we'll have to flush the workqueue.

This prevents unnecessary spin lock/unlock on the workqueue spin lock that
can cause additional scheduling overhead on a PREEMPT_RT system. On a 200
MHz AT91SAM9261 processor setup this fixes about 100us of scheduling
overhead on the TTY read call.

Signed-off-by: Ivo Sieben <meltedpianoman@gmail.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/tty_buffer.c