Skip site navigation (1)Skip section navigation (2)
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>