linux-kernel.vger.kernel.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).