[리눅스커널] 워크큐: 워크큐로 인터럽트 후반부 코드를 설계하는 과정 알아보기

Guillermo Austin Kim|2019년 8월 7일
Posts

[리눅스커널] 워크큐: 워크큐로 인터럽트 후반부 코드를 설계하는 과정 알아보기

Guillermo Austin Kim|2019년 8월 7일

인터럽트 후반부 기법이 생긴 이유는 다음과 같은 사실 때문입니다.  인터럽트 컨택스트에서는 짧고 간결하게 코드를 실행해야 한다. 그러면 인터럽트가 발생한 후에 SW적으로 실행해야 할 루틴이 4개가 있다고 가정하겠습니다.① 인터럽트를 발생한 하드웨어에 인터럽트를 잘 받았다고 알린다. ② 인터럽트를 처리했다는 플래그 정보를 업데이트한다. ③ 유저 공간에 인터럽트로 하드웨어가 변경된 사실을 알린다. ④ 인터럽트를 처리했다는 사실을 디버깅 자료구조에 남긴다. 임베디드 개발자는 4가지 루틴을 보면서 고민을 할 것입니다.  어느 루틴을 인터럽트 핸들러에서 처리할까? 고민 끝에 ①과 ②루틴을 인터럽트 컨택스트에서 처리하기로 결정했