linux - Interrupt context bottom half (Softirq or tasklets) -
softirqs /tasklets said executed in interrupt context have below question respect interrupt context bottoms half.
q1) happen if try put sleep in tasklet (interrupt context bottom half) ( consider tasklet scheduled interrupt handler).
[my understanding] know while coming out of interrupt handler when tasklet_schedule called get tasklet_vec structure pointer , if no other interrupt / high priority softirq in progress schedule ksoftirqd run handler (tasklet handler) , if tall tasklet handler uses sleep in case ksoftirqd move wait_queue , unless , until tasklet_schdule called interrupted tasklet hander continue on point onwards.
we "interrupt context code must not sleep" ( consequence if use sleep in interrupt handler, considering have not used spint lock or have not disabled timer interrupt )
(please correct me if understanding wrong)
sleep works in process context not in interrupt context. in interrupt context, "current" not valid task can put in sleep , wake later. use threads if u wanna sleep
Comments
Post a Comment