From: Arnd Bergmann on 15 May 2010 17:10 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/
|
Pages: 1 Prev: [PATCH 03/10] tty: fix console_sem lock order Next: [PATCH 04/10] cdc-acm: remove dead code |