In message: <[EMAIL PROTECTED]>
            Bruce Evans <[EMAIL PROTECTED]> writes:
: 56k is a silly speed to use.  Why not use the normal speed of 57600
: bps or the faster speed of 115200 bps?  I haven't got around to updating
: the 57600 in the example in /etc/rc.serial although this example became
: bad about 7 years ago just before 56k modems became normal.  IIRC, I
: only had a 14400 bps modem when I wrote the example.

I've used a 56k modem, which doesn't give a sustained speed higher
than about 56k :-).  That's what I ment.

: For the non-fast interrupt case, part of the problem is that the
: interrupt handler is not marked MPSAFE although it probably is MPFSAFE,
: so it has the same latency problems as most other interrupt handlers
: -- almost everything is blocked by Giant, and Giant can easily be held
: for 10 msec or so (e.g., in the mii tick code when it is run as a
: non-MPSAFE timeout).  In RELENG_4, non-fast tty interrupts are only
: blocked by spltty(), so the latency problems are mostly isolated to
: a few low-quality drivers (e.g., syscons normally busy-waits for
: several msec in its tty interrupt handler to program LEDs).

I'll have to try that.

: > : everything is set to 115200, but i think the hardware does
: > : something funny with the divisor and internal rate is much
: > : higher. with OLDCARD i managed to run Xircom card with fast
: > : interrupts and acually got about 50 KBytes/sec. USB devices
: > : give me about 60KBytes/sec.
: 
: Does the hardware also do something funny with the input fifo size
: (which would make it non-16550 compatible)?  Speeds faster than the
: nominal speed break things even if the interrupt handler can keep up,
: by generating more input than fits in buffers in upper layers.  Fifos
: larger than the nominal size may break flow control in related ways.
: But silo overflows mean problems at the interrupt layer.

Most of the 16650, 16750 and 16850 chips require special care to
enable the larget fifo, iirc, so that the compatibility problems don't
happen.  You are right about the buffer sizes in the intermeidate
layers being sized for bursts of 16 bytes, not bursts of, say, 100
bytes.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to