Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Oct 2002 11:15:33 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Don Bowman <don@sandvine.com>
Cc:        "'Kenneth P. Stox'" <stox@imagescape.com>, FreeBSD current users <current@FreeBSD.ORG>
Subject:   Re: RE: Dedicating an interrupt to a PC-Card slot
Message-ID:  <200210171815.g9HIFX3a022794@apollo.backplane.com>
References:   <FE045D4D9F7AED4CBFF1B3B813C8533701022CBB@mail.sandvine.com>

next in thread | previous in thread | raw e-mail | index | archive | help

:Doesn't sound like that fast an interrupt. The 16550 has a 16-byte
:send and receive fifo. Set the rx interrupt @ 14, and the tx @ 2.
:230400/8 = 28800 chars /s
:28800 / 14 = 2057 interrupts / s. This should be well within reach
:of a pentium-class machine.

    Not a good idea.  If you set the rx fifo at 14 you will get fewer
    interrupts, sure, but you will also have less of a safety margin to
    process them before the rx fifo potentially overflows and you lose
    characters.  This is why I changed the default fifo level from HIGH (14)
    to MEDH (8) a while back.

    In anycase, anything less then 10,000 interrupts a second ought to be
    fine.  The real problem is still going to be other things in the system
    causing enough interrupt latency to result in lost characters.  The most
    common culprit is X windows doing big bitblits to the video card /
    video memory, and I think having a non-DMA IDE interface can also cause
    problems.

    At 230400 baud and 10 bits per character (one start, one stop bit), a
    fifo level of 14 gives you 2 character times of safety, or
    approximately 86uS.  At a fifo level of 8 you have 8 character times of
    safety or approximately 347uS.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210171815.g9HIFX3a022794>