tty: Use raw spin lock to protect the TTY read section
authorIvo Sieben <meltedpianoman@gmail.com>
Mon, 28 Jan 2013 12:32:01 +0000 (13:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Feb 2013 23:05:04 +0000 (15:05 -0800)
commit98001214c0436c2b697d696fde3696d32620d394
tree281011943ccd3621272d7188e6a35c3118a7223e
parent183d95cdd834381c594d3aa801c1f9f9c0c54fa9
tty: Use raw spin lock to protect the TTY read section

The "normal" spin lock that guards the N_TTY line discipline read section
is replaced by a raw spin lock.

On a PREEMP_RT system this prevents unwanted scheduling overhead when data is
read at the same time as data is being received: while RX IRQ threaded handling
is busy a TTY read call is performed from a RT priority > threaded IRQ priority.
The read call tries to take the read section spin lock (held by the threaded
IRQ) which blocks and causes a context switch to/from the threaded IRQ handler
until the spin lock is unlocked.

Signed-off-by: Ivo Sieben <meltedpianoman@gmail.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/n_tty.c