[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fast serial (was: misc kernel patches... (mostly tty stuff))
Nicholas S Castellano writes:
> > and i still think that MiNT needs better ways to do fast RAW serial IO,
> >access modem control lines and speeds >19200, change Iorec buffer sizes,
> >etc.. but i'll repeat that only if you want it. :-)
> I agree...But I think most of this can be done with a standalone modem
> driver as opposed to being in the kernel.
ok! but that still requires changes in MiNT. for example currently it
seems a 1K tty read gets _always_ translated into 1000 device reads of
each one char, that just cant be fast no matter how good the driver is...
and to get it real fast such a driver would also need a way to tell
MiNT that it reads and writes bytes, not longs. then it could get a
RAW 1K read or write as that and just bcopy the data. (and also sleep
gracefully when it waits for more than a few bytes to go over the port
so it doesn't have to waste so much CPU time...)
or things like TIOCCAR/CLOCAL, HUPCL.. they probably need some help
from the kernel too.
> I've been thinking recently
> that most of my TOS 1.0 hacks in MiNT's rsconf() code should really be
> in a standalone device driver as well (especially since that code
> still doesn't work terribly well.)
well either this, or just forget about those 1001 TOS bugs and tell
people to use one of the serial port fix TSRs available, some of them
now even work. :)
and for a standalone modem driver rsconf (and iorec) would better just
translate their parameters into device ioctls, right?
> In one of my conversations about the serial port with someone (I think
> it was someone on this list) I was told that there was already a
> driver along these lines that was mostly completed, but I haven't
> heard anything about it since then.
hmm i hope you don't mean me :) i only have a hacked serptch2 to
replace buggy TOS routines, ([Bx]co*, Rcsonf, Ioctl...) but it doesn't
know about MiNT. the fast IO stuff i did for taylor uucp does it all
itself... (and it has to `guess' the physical device with ttyname
because i found no other way to get it from an fd) but of course it
could be useful for writing such a driver... its in tuu103d3.zoo on a.a,
look at the diffs for sys2.c.
other than that i only know of someone who seems to hate MiNT so much
that he wrote a fast driver that tries to act like MiNT, but for TOS!
(looks for Fopen ("u:\dev\modem1"..) and then handles Fread/Fwrite
itself or so... i guess if you could read all those maus news you'd
sometimes just shake your head... :-)
J"urgen Lock / firstname.lastname@example.org / UUCP: ..!uunet!unido!uniol!jelal!nox
PGP public key fingerprint = 8A 18 58 54 03 7B FC 12 1F 8B 63 C7 19 27 CF DA