Messages in this thread | | | Date | Tue, 13 Apr 1999 21:05:45 +0100 | From | Roger Gammans <> | Subject | Re: scheduling policy of bottom halfs, task_queues and timers? |
| |
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/
| |