Subject: Re: com rumblings...
To: Charles M. Hannum <mycroft@MIT.EDU>
From: Garrett D'Amore <garrett_damore@tadpole.com>
List: tech-kern
Date: 06/15/2006 13:21:30
Charles M. Hannum wrote:
> On Thu, Jun 15, 2006 at 12:54:53PM -0700, Garrett D'Amore wrote:
>
>> There is a ring buffer in the middle that is used to transfer between
>> the hard and soft interrupts, but if the soft interrupt doesn't get
>> timely enough service, then even that will fill up.
>>
>
> It certainly will. And that's better than dropping random intermittent
> bytes in the hardware interrupt handler -- because in that case you get
> livelock with PPP and SLIP.
>
> Which is to say, you haven't understood the purpose of the flow control
> architecture in the driver, so please don't mess with it.
>
I'm not "messing" with it. In fact, I've not touched it. I've just
heard some complaints from users, and as the most recent person to touch
com(4), I think some folks I heard were asking me to investigate further.
What I had said earlier was that at least some hardware might not need a
split between the hard and soft interrupt handlers. I think a ring
buffer is likely still required just to account for the fact that
userland consumers are likely to run slower *yet*. I've never suggested
removal of the ring buffer. (I have suggested that for very fast data
rates on slower h/w, it *might* make sense to increase the size of that
buffer. But that depends on whether we are seeing ibuf floods or silo
overflows. I still don't know that because I've not see any of the
problems.)
> As for zs vs. com, notice that their guts are almost identical. Maybe
> this is because I retooled both of them at the same time...
>
Maybe. I should look at it in more detail. It looks like there are
enough differences that making zs.c just another instantiation of com(4)
might be a bad idea. (The separate mouse/keyboard streams at least
comes to mind.)
--
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134 Fax: 951 325-2191