[003 Interrupción] La diferencia entre tasklet y workqueue y la diferencia entre la implementación subyacente

1. La diferencia entre tasklet y workqueue y la diferencia entre la implementación subyacente

(1) Tanto softirq como tasklet son interrupciones suaves, tasklet es una implementación especial de softirq; workqueue es una cola de trabajo ordinaria. 

(2) tasklet y workqueue, los cuales son un método de implementación para interrumpir la mitad inferior. La diferencia es que el tasklet pertenece al contexto de interrupción, no hay cambio de proceso y no puede suspenderse ni bloquearse (consulte [003 Interrupción] para obtener más detalles); la cola de trabajo se basa en la encapsulación de subprocesos y pertenece al contexto de proceso, por lo que admite suspensión y bloqueo .


2. ¿Cuándo solicitar la suspensión?

Cuando Linux carga el controlador correspondiente e inicializa el dispositivo de hardware por primera vez, el kernel solicitará una interrupción para el dispositivo.


3. Contenido de referencia

La diferencia entre SOFTIRQ, Tasklet y Workqueue _SOFTIRQ

Supongo que te gusta

Origin blog.csdn.net/qq_41709234/article/details/131207495
Recomendado
Clasificación