Re: scheduling policy of bottom halfs, task_queues and timers?

Roger Gammans (rgammans@computer-surgery.co.uk)
Tue, 13 Apr 1999 21:05:45 +0100


In article <199904081749.NAA07697@dcl>, Theodore Y. Ts'o <tytso@MIT.EDU>
writes
>Functiosn which are triggered by bottom-half, task_queues, and
>timer_lists are run at interrupt time, so they are not allowed call a
>function which may block or call schedule().

What is the general advice for drivers which really ought to?
More specifically I've got an interrupt routine which calls a function
which effectively contains udelay(1710). The ISR also calls this
function twice.

There is another irq to signal the end of the wait time, but obviously
with isr's or bh's being schedulable a wait_for_irq() is out of the
question. I presume other drivers have solved this problem.. it seems
rather nasty though to do it a chain of ISRs.

Part of the trouble is that the the function with the udelay is part of
a lower level driver stub, so is used by multiple devices.. or will be
when the other are written.

TTFN

-- 
Roger Gammans

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/