[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090929145514.GF2152@localhost>
Date: Tue, 29 Sep 2009 16:55:14 +0200
From: Johan Hovold <jhovold@...il.com>
To: Michael Trimarchi <trimarchi@...dalf.sssup.it>,
Alan Cox <alan@...rguk.ukuu.org.uk>
Cc: Johan Hovold <jhovold@...il.com>,
Oliver Neukum <oliver@...kum.org>,
Greg Kroah-Hartman <gregkh@...e.de>, linux-usb@...r.kernel.org,
Alan Cox <alan@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] USB: ftdi_sio: Remove tty->low_latency.
On Fri, Sep 25, 2009 at 07:46:51PM +0200, Michael Trimarchi wrote:
> Johan Hovold wrote:
> > On Thu, Sep 24, 2009 at 08:21:07PM +0100, Alan Cox wrote:
> >> ftdi_sio is correct with low_latency set as it uses a work queue to
> >> process the packets received.
> >>
> > AFAICT it only uses the work queue if tty_buffer_request_room fails to
> > allocate enough space. This being the exception, the completion
> > handler normally processes the packets in interrupt context and this is
> > where I get my lockdep traces (and it happens every time I hit the echo
> > or throttle paths).
> >
> Using two urb, double buffering and schedule a tasklet to complete the
> the reading phase. The usb will use the other free urb during receiving
> process.
> I think remove tty_latency is not a good fix.
What do you say, Alan? Should ftdi_sio be rewritten so that it actually
defers all processing, or should low_latency go?
As it stands today ftdi_sio does indeed call tty_flip_buffer_push from
interrupt context with low_latency set and that is obviously incorrect,
right?
Regards,
Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists