From: Arnd Bergmann on
This is the third attempt to get the BKL out of the
TTY code. This version goes much further than the
previous one, and eliminates most of the code I
had introduced there.

What remains of the series are changes to the existing
BKL usage in the TTY layer to avoid depending on
the autorelease-during-sleep or the recursive
behavior. The final patch simply adds the option
to replace the BKL with a plain mutex.

The series is available as a git tree in the bkl/tty branch of
git://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
There is also a bkl/tty-history branch with a much
more detailed series that I used to get to this point.
Both series are bisectable.

Arnd Bergmann (10):
tty: replace BKL with a new tty_lock
tty: never hold BTM while getting tty_mutex
tty: fix console_sem lock order
cdc-acm: remove dead code
tty: introduce wait_event_interruptible_tty
tty: annotate tty_write_lock
tty: reorder ldisc locking
tty: untangle locking of wait_until_sent
tty: remove tty_lock_nested
tty: implement BTM as mutex instead of BKL

drivers/char/Makefile | 1 +
drivers/char/amiserial.c | 23 ++++--
drivers/char/briq_panel.c | 6 +-
drivers/char/cyclades.c | 2 +-
drivers/char/istallion.c | 12 ++-
drivers/char/n_hdlc.c | 16 ++--
drivers/char/n_r3964.c | 10 ++--
drivers/char/pty.c | 24 +++----
drivers/char/selection.c | 13 +++-
drivers/char/serial167.c | 4 +-
drivers/char/stallion.c | 2 +
drivers/char/sx.c | 12 ++--
drivers/char/tty_io.c | 138 ++++++++++++++++++++++-----------------
drivers/char/tty_ldisc.c | 43 +++++++++----
drivers/char/tty_mutex.c | 47 ++++++++++++++
drivers/char/tty_port.c | 2 +-
drivers/char/vc_screen.c | 4 +-
drivers/char/vt_ioctl.c | 12 ++--
drivers/serial/68360serial.c | 2 -
drivers/serial/crisv10.c | 6 +-
drivers/serial/serial_core.c | 39 ++++++++----
drivers/usb/class/cdc-acm.c | 12 +---
drivers/video/console/vgacon.c | 2 -
include/linux/tty.h | 64 ++++++++++++++++++
lib/Kconfig.debug | 10 +++
25 files changed, 338 insertions(+), 168 deletions(-)
create mode 100644 drivers/char/tty_mutex.c

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/