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
 -