12월, 2013의 게시물 표시

[Linux] blktrace related

Event type of blktrace  - A : remap  - Q: IO is queued  - G: a request struct allocated (get request)  - P: the queue is plugged  - I: the IO is scheduled  - U: the queue is unplugged  - D: the IO is dispatched to the device  - C: the IO is completed (C) Source code in Linux kernel  - location: kernel/trace/blktrace.c  - blk_fill_rwbs ( ) : set F, W, D, R, N, A, S, M, E flag  - blktrace.c 파일에 register_block_xx(blk_add_trace_xx, NULL) 함수로 등록하고 외부에서 사용할때는 block/blk-core.c 파일에서 trace_block_xx(q, rq) 함수로 block layer를 tracing한다. Link for explaining blktrace  -  http://brooker.co.za/blog/2013/07/14/io-performance.html  -  http://studyfoss.egloos.com/tag/blktrace/page/1  -