The patch titled usb-serial: regression fix to move sysrq from hot path has been removed from the -mm tree. Its filename was usb-serial-regression-fix-to-move-sysrq-from-hot-path.patch This patch was dropped because an alternative patch was merged The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: usb-serial: regression fix to move sysrq from hot path From: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> A performance regression was introduced by commit 98fcb5f78165b8a3d93870ad7afd4d9ebbb8b43a ("USB: serial: usb_debug,usb_generic_serial: implement sysrq and serial break"). The sysrq handling should only get executed if the attached usb serial device is acting as a serial system console. A serial system console has a very low input throughput vs a 3g usb modem which pushes bytes through the same interface at a high rate. Entire strings of output can be processed via the tty input when the device is not a console. Signed-off-by: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/usb/serial/generic.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff -puN drivers/usb/serial/generic.c~usb-serial-regression-fix-to-move-sysrq-from-hot-path drivers/usb/serial/generic.c --- a/drivers/usb/serial/generic.c~usb-serial-regression-fix-to-move-sysrq-from-hot-path +++ a/drivers/usb/serial/generic.c @@ -425,11 +425,19 @@ static void flush_and_resubmit_read_urb( goto done; /* Push data to tty */ - for (i = 0; i < urb->actual_length; i++, ch++) { - if (!usb_serial_handle_sysrq_char(port, *ch)) - tty_insert_flip_char(tty, *ch, TTY_NORMAL); + if (port->console) { + for (i = 0; i < urb->actual_length; i++, ch++) { + if (!usb_serial_handle_sysrq_char(port, *ch)) + tty_insert_flip_char(tty, *ch, TTY_NORMAL); + } + tty_flip_buffer_push(tty); + } else if (urb->actual_length) { + i = tty_buffer_request_room(tty, urb->actual_length); + if (i) { + tty_insert_flip_string(tty, urb->transfer_buffer, i); + tty_flip_buffer_push(tty); + } } - tty_flip_buffer_push(tty); tty_kref_put(tty); done: usb_serial_generic_resubmit_read_urb(port, GFP_ATOMIC); _ Patches currently in -mm which might be from jason.wessel@xxxxxxxxxxxxx are linux-next.patch usb-serial-regression-fix-to-move-sysrq-from-hot-path.patch frv-duplicate-output_buffer-of-e03.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html