wake_up_interruptible in ISR

Chan Kim ckim at etri.re.kr
Tue May 26 01:23:18 EDT 2015



Hello,
 
I see in the source (linux ver 3.3) that wake_up_interruptible function doesn't sleep so I used in it an ISR but I'm getting 'BUG:scheduling while atomic' message. (I'm not sure it's coming from this) I'm looking for the exact cause but Is there any caveat when using wake_up_interruptible() in an ISR?  (I found some drivers use it in ISR, some use it in work_struct)
 
I also read in http://www.slideshare.net/rampalliraj/tasklet-vs-work-queues?from_action=save  that tasklet is not allowed to sleep but work is. (because  tasklet is not in process context, but in bottom-half) I don't know if I have to move my wake_up_interruptible function to tasklet or work(queue) or even it matters to the current problem.
 
Any tip will be appreciated. 
Regards,
 
Chan


More information about the Kernelnewbies mailing list