2017-12-21 32 views
0

나는 대답이 '아니오'라고 생각하지만, 미안하다. 나는 커널에 익숙하지 않고 왜 그런지 알고 싶다.리눅스 커널에서는 free_irq가 시스템을 위험에 빠뜨릴 수 있습니까?

커널 코드를 확인한 결과 threaded irq가 해제 될 때 kthread_stop (action-> thread);

조금 위험하지 않습니까? 리눅스 드라이버에서 우리는 멈추어서는 안되는 하반부에서 HW 연산을 수행한다.

kthread_stop의 동작을 잘못 이해했거나 irq 스레드를 중지해도 괜찮습니까?

답변

0

나는이 질문에 스스로 대답 할 것이다. action-> thread를 멈추기 전에 synchronize_irq (irq)를 호출합니다; 이것은 hardirq 핸들러가 실행 중이고 스레드 핸들러가 활성화되지 않을 때까지 대기합니다.