Re: HZ != 1000 causes problem with serial device shown by git-bisect

From: Bill Davidsen
Date: Thu Mar 30 2006 - 15:29:36 EST


Alan Cox wrote:
On Llu, 2006-03-27 at 18:46 -0500, Greg Lee wrote:
I am having a problem when using PPP over a particular PCMCIA based serial device and have
pinned the problem down using git-bisect to this particular commit that was made between
2.6.12.6 and 2.6.13:

That would make sense.

I have also tried a number of other kernels and the problem exists all the way to 2.6.15.6
but is fixed in 2.6.16, so I am going to git-bisect 2.6.15.6 to 2.6.16, but I thought I
would get this message out now in case someone has an inkling of what the problem is.

I think I can tell you fairly accurately if you are running fairly high
data rates.

The old pre 2.6.16 tty code works something like this

Each serial IRQ
add chars to buffer if they fit

Each timer IRQ
switch buffers
process original buffer


So the higher HZ is the faster data speed you can do. With very high
data rates lower HZ means more dropped characters.

2.6.16 implements the new tty layer which replaces this with a proper
buffering and queueing mechanism and is SMP aware (and thanks to Paul
rather SMP clever too).

Just as an aside to this and thanks to Paul, this seems in practice to work as well with HT (as I would expect) and handle fairly high rate (230kb) connections perfectly. I hope it applies for dumb multiport cards as well, I have a fair number of them here and there.

--
-bill davidsen (davidsen@xxxxxxx)
"The secret to procrastination is to put things off until the
last possible moment - but no longer" -me

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/