[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re-entrancy



========================================================================
 hmm, sure?  if we just want IO to halt only processes which are in a
disk IO systemcall (as opposed to `halt _every_ process' like its now...)
then we don't need real multithreaded filesystems yet, and i don't think
the kernel needs much more reentrancy than now like when a process
sleeps for tty IO.  and the SCSI interrupt handler could just reset
its in-service bit and ipl and then addroottimeout()?
========================================================================

If this is possible, I'd REALLY like to see it.  It would help ALOT in
making the OS faster, not to mention practical application.  For example,
recently, all the direct-to-disk recording code I've seen does sector-level
disk manipulation for speed.   This is rediculous, since 16 bit sound,
at 50Khz is 100K/s, for stereo, you get 200K/s.  Just about ANY hard disk
can handle 200K/s, but the real problem is that you can't overlap disk
IO with anything else, so you gotta make the disk IO super-fast so it
doesn't lock up the system too long (at least I guess this is the reason).

Direct-to-disk would get real easy with a nice buffered Minix filesystem
and non-blocking disk IO.  Even if the filesystems weren't multithreaded,
you could still tfork() the main application.  Then a simple circular
buffer of a modest size could be used for direct-to-disk recording.  And
you'd have CPU time left over to move the mouse too!

Actually, I just hate it when the CPU is wasting time polling in a loop
when it could be doing something else.  I don't care what else, anything
else.  I just hate polling!!