Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Apr 96 20:12:03 PST
From:      "Brett Glass" <Brett_Glass@ccgate.infoworld.com>
To:        Terry Lambert <terry@lambert.org>
Cc:        terry@lambert.org, freebsd-hardware@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Hacked kernel with option to disable "green" mode
Message-ID:  <9603018284.AA828414922@ccgate.infoworld.com>

next in thread | raw e-mail | index | archive | help
> OK.  I agree.  There should be an ioctl to issue a controller command
> for WD controllers -- we have one for SCSI.

Easy to do, since there's already an "issue a controller command" function
called wdcommand(). What are the conventions for ioctl numbering,
structs passed to ioctls, etc. in FreeBSD?  If you're experienced at
hacking this kernel, it shouldn't take more than 15 minutes of coding to
add the new command.

> I would prefer to have a reschedulable one-shot than to directly use
> the timer interrupt.

> The distinction is that the interrupt can be scheduled as a one shot
> down to the hardware resoloution instead of being limited to the clock
> frequency.

Either kind of timer would probably suffice. High frequencies and super
resolutions wouldn't be necessary, since disk I/O is a somewhat slow
process.  A period of 10-20 milliseconds -- about the same as a typical
disk seek time -- would be sufficient.

> The win here is that I can have a hardware interrupt to cause timed
> service routines in the kernel without giving up RT.

> This lets you replace recurrening events with rescheduling the
> oneshot, and replace DELAY() with a one-shot scheduling.

This would certainly work. But the advantage of the timer is that it would
be sharable; the one-shot wouldn't be.

In any event, how much would the scheduler and vm modules have to change
-- if at all -- to allow unaffected processes to continue during swapper
I/O?

--Brett




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9603018284.AA828414922>