Date: Wed, 8 Mar 1995 11:13:17 +1000 From: Bruce Evans <bde@zeta.org.au> To: henryk@gaja.ipan.lublin.pl, terry@cs.weber.edu Cc: freebsd-bugs@FreeBSD.org Subject: Re: QIC-80 problem Message-ID: <199503080113.LAA30812@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>Alternately, the kernel timer code, if used for an outcall on >a retriggerable one shot, could be used to drive the floppy >tape effectively in real time as a logical kernel thread at >timer interrupt level. >This would require fixing some timer issues that nobody agrees >with me that they should be fixed and rewriting the floppy tape >driver about 20%. I recently noticed that the standard timer code doesn't guarantee any upper bounds for timeouts. softclock() runs at a lower priority than all hardware interrupts. It is possible for a fast device on a slow interface to keep the system busy handling interrupts so that softclock() never runs. A fast EIDE drive using the old IDE interface can probably do this (unless the system isn't programmed well enough to keep the data streaming :-]). The one shot timer would have to be handled at a higher priority than softclock() or its resolution would be lost. It wouldn't necessarily work to use the same priority as the device that requested the timeout. The ft priority would have to be higher than the wd priority to avoid the above problem. This would require large reorganizations because the ft priority and the wd priority are currently identical (bio). Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503080113.LAA30812>