From: Robert Hancock <hancockr@shaw.ca>
To: Mark Lord <lkml@rtr.ca>
Cc: "Maciej W. Rozycki" <macro@linux-mips.org>,
Russell King <rmk+lkml@arm.linux.org.uk>,
Lee Howard <faxguy@howardsilvan.com>,
linux-serial@vger.kernel.org, tytso@mit.edu,
linux-kernel@vger.kernel.org
Subject: Re: serial flow control appears broken
Date: Thu, 02 Aug 2007 10:14:22 -0600 [thread overview]
Message-ID: <46B202DE.5000709@shaw.ca> (raw)
In-Reply-To: <46B1F0CB.9060106@rtr.ca>
Mark Lord wrote:
> I don't believe the speed of the machine has much to do with it,
> as IDE PIO is always at pretty much the same speed (or slower)
> regardless of the CPU speed.
>
> Best case is about .120 usec per 16-bit word, but that doesn't often pan
> out
> in practice. More typical is something closer to 1 usec per 16-bit word.
>
> So, for multcount=16 (very common), best case is 16 * 256 * .120 = 491
> usec,
> plus extra overhead for reading the IDE status register (another usec or
> so),
> and other stuff. Figure maybe 500usec total per interrupt for multcount=16
> in the best case, or 4000usec in the worst case.
>
> At 115200bps, we get a byte every 86 usec or so. Assuming the UART FIFO
> is set to interrupt (warn) us at 12/16 full, we have 4*86 = 344 usec to
> respond and de-assert RTS. Less than that in practice.
>
> Conclusion: using IDE multisector PIO is not a good idea with high speed
> serial transfers happening, since we cannot respond quickly enough.
>
> It might be possible to set the buffer underrun threshold lower in the
> UART (?).
>
> All that said, I doubt that his system is using IDE PIO in the first place.
> Dunno how long IDE DMA interrupts take, but it's probably in the 20-50
> usec range.
I think that PIO transfers only have to be done with interrupts disabled
on really old, evil controllers (without unmask set). I don't think
libata ever disables interrupts during transfers(?)
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/
next prev parent reply other threads:[~2007-08-02 16:14 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <fa.Z6O0xFRT69zes0Mg+agt3Uiwux4@ifi.uio.no>
2007-07-26 7:20 ` serial flow control appears broken Robert Hancock
2007-07-26 16:08 ` Lee Howard
2007-07-26 16:31 ` Alan Cox
2007-07-27 5:53 ` Lee Howard
2007-07-27 11:47 ` Alan Cox
2007-07-27 17:36 ` Lee Howard
2007-07-27 13:45 ` Tilman Schmidt
2007-07-27 19:34 ` Paul Fulghum
2007-08-27 20:38 ` Paul Fulghum
2007-07-27 20:48 ` Lee Howard
2007-07-27 23:28 ` Paul Fulghum
2007-07-28 4:51 ` Lee Howard
2007-07-28 9:18 ` Russell King
2007-07-28 12:00 ` Alan Cox
2007-07-28 15:39 ` Lee Howard
2007-08-01 21:54 ` Frantisek Rysanek
2007-07-28 16:41 ` Ray Lee
2007-08-04 18:21 ` Lee Howard
2007-08-04 22:07 ` Paul Fulghum
2007-08-05 0:00 ` Lee Howard
2007-08-05 14:52 ` Paul Fulghum
2007-07-27 19:34 ` Paul Fulghum
2007-07-27 20:05 ` Lee Howard
2007-07-27 11:32 ` Maciej W. Rozycki
2007-07-27 17:11 ` Lee Howard
2007-07-27 17:41 ` Alan Cox
2007-07-27 17:53 ` Maciej W. Rozycki
2007-07-27 18:11 ` Lee Howard
2007-07-30 9:36 ` Maciej W. Rozycki
2007-07-27 18:22 ` Robert Hancock
2007-07-27 18:46 ` Paul Fulghum
2007-07-27 19:05 ` Paul Fulghum
2007-07-30 9:39 ` Maciej W. Rozycki
2007-07-27 19:14 ` Paul Fulghum
2007-07-28 9:28 ` Russell King
2007-07-30 9:45 ` Maciej W. Rozycki
2007-07-30 9:59 ` Russell King
2007-08-02 14:57 ` Mark Lord
2007-08-02 16:14 ` Robert Hancock [this message]
2007-08-02 16:29 ` Mark Lord
2007-08-02 16:40 ` Robert Hancock
2007-08-02 17:13 ` Alan Cox
2007-08-04 19:38 ` Lee Howard
2007-08-02 16:57 ` Alan Cox
2007-08-02 17:02 ` Robert Hancock
2007-08-03 9:32 ` Maciej W. Rozycki
2007-07-30 9:34 ` Maciej W. Rozycki
2007-08-04 18:19 ` Lee Howard
2007-07-26 1:52 Lee Howard
2007-07-26 12:34 ` Uwe Kleine-König
2007-07-26 12:34 ` Uwe Kleine-König
2007-07-26 16:28 ` Lee Howard
2007-07-26 16:28 ` Lee Howard
2007-07-26 16:41 ` Alan Cox
2007-07-27 6:17 ` Lee Howard
2007-07-27 11:56 ` Alan Cox
2007-07-27 18:00 ` Lee Howard
2007-07-26 15:51 ` Tosoni
2007-07-26 16:31 ` Lee Howard
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=46B202DE.5000709@shaw.ca \
--to=hancockr@shaw.ca \
--cc=faxguy@howardsilvan.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=lkml@rtr.ca \
--cc=macro@linux-mips.org \
--cc=rmk+lkml@arm.linux.org.uk \
--cc=tytso@mit.edu \
/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.