Linus Torvalds
f23eb2b2b2
tty: stop using "delayed_work" in the tty layer
...
Using delayed-work for tty flip buffers ends up causing us to wait for
the next tick to complete some actions. That's usually not all that
noticeable, but for certain latency-critical workloads it ends up being
totally unacceptable.
As an extreme case of this, passing a token back-and-forth over a pty
will take two ticks per iteration, so even just a thousand iterations
will take 8 seconds assuming a common 250Hz configuration.
Avoiding the whole delayed work issue brings that ping-pong test-case
down to 0.009s on my machine.
In more practical terms, this latency has been a performance problem for
things like dive computer simulators (simulating the serial interface
using the ptys) and for other environments (Alan mentions a CP/M emulator).
Reported-by: Jef Driesen <jefdriesen@telenet.be>
Acked-by: Greg KH <gregkh@suse.de>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-03-22 16:17:32 -07:00
..
hvc
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2011-03-18 10:37:40 -07:00
ipwireless
Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
2011-03-16 15:11:04 -07:00
serial
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2011-03-18 10:37:40 -07:00
vt
Merge branch 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl
2011-03-16 17:21:00 -07:00
amiserial.c
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
bfin_jtag_comm.c
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
cyclades.c
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
isicom.c
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
Kconfig
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
Makefile
tty: move ipwireless driver from drivers/char/pcmcia/ to drivers/tty/
2011-02-22 16:23:22 -08:00
moxa.c
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
moxa.h
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
mxser.c
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
mxser.h
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
n_gsm.c
n_gsm: fix UIH control byte : P bit should be 0
2011-03-09 15:43:39 -08:00
n_hdlc.c
drivers: remove extraneous includes of smp_lock.h
2011-03-02 00:02:40 +01:00
n_r3964.c
drivers: remove extraneous includes of smp_lock.h
2011-03-02 00:02:40 +01:00
n_tty.c
nozomi.c
nozomi: don't use flush_scheduled_work()
2011-02-25 11:56:10 -08:00
pty.c
Merge branch 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl
2011-03-16 17:21:00 -07:00
rocket.c
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
rocket.h
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
rocket_int.h
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
synclink.c
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
synclink_gt.c
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
synclinkmp.c
tty: move a number of tty drivers from drivers/char/ to drivers/tty/
2011-02-22 16:14:56 -08:00
sysrq.c
tty_audit.c
tty_audit: fix tty_audit_add_data live lock on audit disabled
2011-03-07 12:04:50 -08:00
tty_buffer.c
tty: stop using "delayed_work" in the tty layer
2011-03-22 16:17:32 -07:00
tty_io.c
Merge branch 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl
2011-03-16 17:21:00 -07:00
tty_ioctl.c
tty: add a helper for setting termios data from kernel side
2011-02-17 12:03:52 -08:00
tty_ldisc.c
tty: stop using "delayed_work" in the tty layer
2011-03-22 16:17:32 -07:00
tty_mutex.c
tty_port.c