All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <jhovold@gmail.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Johan Hovold <jhovold@gmail.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Greg Kroah-Hartman <gregkh@suse.de>,
	Michael Trimarchi <trimarchi@gandalf.sssup.it>,
	Oliver Neukum <oliver@neukum.org>,
	linux-usb@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] USB: ftdi_sio: Remove tty->low_latency.
Date: Sat, 3 Oct 2009 16:05:22 +0200	[thread overview]
Message-ID: <20091003140522.GA8725@localhost> (raw)
In-Reply-To: <20091003141807.1dc27e4e@lxorguk.ukuu.org.uk>

On Sat, Oct 03, 2009 at 02:18:07PM +0100, Alan Cox wrote:
> On Sat, 3 Oct 2009 13:42:29 +0200
> Johan Hovold <jhovold@gmail.com> wrote:
> > On Fri, Oct 02, 2009 at 05:33:08PM +0100, Alan Cox wrote:
> > And, obviously, this doesn't solve the problem of tty_flip_buffer_push
> > being called from interrupt context (but I assume that was never the
> > intention).
> 
> Calling tty_flip_buffer_push from an interrupt is perfectly acceptable
> providing tty->low_latency isn't set: which it isn't.

Of course -- the "with low latency set" part fell out (or, was implicit
;-) ). Your patch, however, still has low_latency set when it calls
tty_flip_buffer_push and that's the problem.

> > -	spin_lock_irqsave(&priv->rx_lock, flags);
> > -	priv->rx_flags &= ~(THROTTLED | ACTUALLY_THROTTLED);
> > -	spin_unlock_irqrestore(&priv->rx_lock, flags);
> > +	spin_lock_irqsave(&port->lock, flags);
> > +	port->throttled = 0;
> > +	spin_unlock_irqrestore(&port->lock, flags);
> 
> If you only have a single bit use the set_bit/clear_bit/test_and_xxx_bit
> stuff as it's faster on most boxes

The generic driver uses two fields in usb_serial_port for
throttled/trottle_req, whereas ftdi_sio, whiteheat, aircable, cypress
and perhaps a couple more have private a flag field for THROTTLED and
ACTUALLY_THROTTLED.

How about unifying them to all use a single flag field (with two flags)
in usb_serial_port?

> > +	 * The per character mucking around with sysrq path it too slow, so
> > +	 * shortcircuit it in the 99.9999999% of cases where the USB serial is
> > +	 * not a console anyway.
> > +	 */
> > +	ch = packet + 2;
> > +	len -= 2;
> > +	if (!port->console || !port->sysrq)
> 
> You need && flag == TTY_NORMAL ?

You tell me. :-) Are we interested in them unless port->console is set?

> Definitely a move in the right direction

Thanks,
Johan


  parent reply	other threads:[~2009-10-03 14:05 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-24 15:40 [PATCH] USB: ftdi_sio: Remove tty->low_latency Johan Hovold
2009-09-24 19:03 ` Oliver Neukum
2009-09-24 19:21   ` Alan Cox
2009-09-24 21:15     ` Johan Hovold
2009-09-25 17:46       ` Michael Trimarchi
2009-09-29 14:55         ` Johan Hovold
2009-09-29 22:52           ` Alan Cox
2009-09-30  6:33             ` Michael Trimarchi
2009-09-30  9:05             ` Johan Hovold
2009-10-02  2:52             ` Eric W. Biederman
2009-10-02  8:47               ` Johan Hovold
2009-10-02 16:33                 ` Alan Cox
2009-10-02 22:29                   ` Eric W. Biederman
2009-10-03 10:21                     ` Johan Hovold
2009-10-02 23:00                   ` Eric W. Biederman
2009-10-03 13:09                     ` Alan Cox
2009-10-03 23:51                       ` Eric W. Biederman
2009-11-17 18:35                       ` Eric W. Biederman
2009-11-17 18:41                         ` Oliver Neukum
2009-11-17 18:56                           ` Eric W. Biederman
2009-11-17 20:05                           ` Eric W. Biederman
2009-11-18  1:08                           ` Eric W. Biederman
2009-11-18  3:10                             ` [PATCH] ftdi_sio: Keep going when write errors are encountered Eric W. Biederman
2009-11-18  3:44                               ` Greg KH
2009-10-03 11:42                   ` [PATCH] USB: ftdi_sio: Remove tty->low_latency Johan Hovold
2009-10-03 12:11                     ` Oliver Neukum
2009-10-03 12:28                       ` Johan Hovold
2009-10-03 13:31                         ` Oliver Neukum
2009-10-03 14:41                         ` Johan Hovold
2009-10-03 13:18                     ` Alan Cox
2009-10-03 13:27                       ` Oliver Neukum
2009-10-03 14:05                       ` Johan Hovold [this message]
2009-10-03 16:33                         ` Alan Cox
2009-10-03 16:46                           ` Johan Hovold
2009-10-04 19:48                           ` Johan Hovold
2009-10-04 23:39                             ` Eric W. Biederman
2009-10-05  7:01                               ` Johan Hovold
2009-10-02 16:59                 ` Greg KH
2009-10-02  9:04               ` Alan Cox
2009-10-02  9:53                 ` Alan Cox

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091003140522.GA8725@localhost \
    --to=jhovold@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=ebiederm@xmission.com \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=oliver@neukum.org \
    --cc=trimarchi@gandalf.sssup.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.