On Fri, Oct 19, 2001 at 09:44:28PM +0200, Diego Roversi wrote: > Hi, > > I finally fixed gnumach so it can handle sustained transfert on serial > port at higher speed. On my PC works great so I'm posting the patch for any > brave guys who want test it on their PC.
I have gotten as far as reproducing the problem, and will soon try your fix. However, it seems to me that even if it fixes the symptoms, we should have a better understanding of the code before we checking something in. The whole thing is a timing issue. Somehow the current timing makes it that characters are dropped at high speeds. Maybe the data comes in faster than the input queue can be flushed when the watermark is reached. This seems to me to have the effect of dropping characters. Lowering the watermark would cause to flush the buffer more frequently, so the characters that come in between two flushes all have room. I want to do some careful code peeking and some calculations that involve how fast the bytes appear and the size of the buffer. Also I want to make a comparison to the way the queues are handled on BSD and Linux kernels. I guess we are probably not going to bother to fix gnumach properly unless it is easy to do so, but just apply your patch to make it work, and then make sure that oskit-mach will be proper when it gets serial drivers. But anyway, I think we should not miss the chance to learn something about queue handling for serial lines here. Thanks, Marcus -- `Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED] Marcus Brinkmann GNU http://www.gnu.org [EMAIL PROTECTED] [EMAIL PROTECTED] http://www.marcus-brinkmann.de _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd