Linux kernel v4.4에서 간단한 블록 장치 드라이버 만들어보기

ch05. multiqueue-mode

이제 이 강좌의 골인 지점에 도달했습니다. 사실 앞의 bio-mode와 request-mode는 바로 multiqueue-mode를 잘 이해하기 위한 기초일 뿐이었습니다. 최신 커널을 이해하려면 multiqueue-mode를 이해해야합니다.

저도 이제 막 multiqueue-mode를 공부하는 처지라 많이 부족합니다. 단지 대강의 흐름을 제시할 수 있고, 앞으로 커널을 분석하는데 시작 지점이 되었으면 합니다.

multiqueue mode를 이해하려면 다음 참고자료를 먼저 보시기 바랍니다. 기존의 request-mode가 어떤 한계를 가졌고, 왜 multiqueue-mode가 등장하게 되었는지, 그리고 multiqueue-mode는 왜 어떻게 여러개의 큐를 구현하는지를 잘 봐야합니다. 사실 글만 봐서는 잘 이해가 안될 수 있습니다. 그래서 강좌를 읽으면서 직접 만들고 실험하다보면 글로 읽었던 그게 바로 이거구나 하는 순간이 올겁니다.

소스: https://github.com/gurugio/mybrd/blob/master/mybrd.c

참고

- https://www.thomas-krenn.com/en/wiki/Linux_Multi-Queue_Block_IO_Queueing_Mechanism_(blk-mq)

- https://lwn.net/Articles/552904/

- http://kernel.dk/blk-mq.pdf

- http://ari-ava.blogspot.de/2014/07/opw-linux-block-io-layer-part-4-multi.html

댓글

댓글 본문
작성자
비밀번호
버전 관리
gurugio
현재 버전
선택 버전
graphittie 자세히 보기