To use wake_up_interruptible in ISR

김찬 ckim at etri.re.kr
Tue May 26 01:02:19 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 the wake_up_interruptible function to tasklet or work(queue) or even it matters to the current problem.

Any help would be greatly appreciated. 
Regards,

Chan



More information about the Kernelnewbies mailing list