Hello list. I have a driver which is designed to do most work in user-space. The ISR is really simple. It just ACKs/clears the interrupt and then should unblock a waiting thread. It seems overkill (and costs me about 5-10us) to use a threaded interrupt in such a case (hard isr unblocks a kthread whose only 'work' is unblocking another (user) thread). I have found some references where users try to do a similar thing via UIO (e.g., http://article.gmane.org/gmane.linux.rt.user/7372/ http://article.gmane.org/gmane.linux.rt.user/7676) However, the succinct answer was along the line 'that can't work with UIO'. IMHO it would be very helpful to get a more detailed explanation as to why it doesn't work (i.e., what things you are and are not allowed to do from a hard-isr under RT_PREEMPT). I suspect it is because UIO calls routines such as 'kill_fasync' which use ordinary (as opposed to raw) spinlocks which means that the caller could be preempted (under RT_PREEMPT), right? What *is* the recommended mechanism to wake up a thread from a hard-isr? It would IMHO be desirable to modify the UIO driver so that it is possible to support non-threaded handlers. Thanks for any enlightenment (and the fantastic rt-preempt patch in the first place)! - Till PS: Please CC me on any replies; I am currently not a subscriber. -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html