Date: Sun, 02 Nov 1997 13:22:22 +1030 From: Mike Smith <mike@smith.net.au> To: "Jamil J. Weatherbee" <jamil@trojanhorse.ml.org> Cc: hackers@freebsd.org, dufault@hda.com Subject: Re: Strategy Routines Message-ID: <199711020252.NAA00521@word.smith.net.au> In-Reply-To: Your message of "Sat, 01 Nov 1997 12:24:20 -0800." <Pine.BSF.3.96.971101121127.5598A-100000@trojanhorse.ml.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> > period. Now I know that if the drivers routine can be interrupt driven > the this is all solved, but if (as in digital_out_strategy() in labpc.c) > someone passes a 1/2 megabyte buffer, youv'e got a problem as your going > to be out of business for at least .5 seconds. So how can the equivalent > of reschedule() under the linux kernel be done in here. You could then > limit yourself (in the drivers) to say 1024 bytes written then a > reschedule() to maintain the interactivity. This is a fault in the driver design. Drivers should not hog the cpu, obviously. Try calling tsleep() out of the driver with a very short timeout. mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711020252.NAA00521>