FIO는 IO 엔진의 전체 무리를 지원 - 모든 엔진은 여기에 존재 지원 : 나는 어떻게 FIO 작품의 내부를 이해하기 위해 노력 해왔다 방법 FIO 부하 모든 IO 엔진에 붙어있어 https://github.com/axboe/fio/tree/master/engines시작시 다양한 io 엔진을로드하는 방법은 무엇입니까?
. https://github.com/axboe/fio/blob/master/engines/sync.c#L448
및 fio_syncio_unregister
: https://github.com/axboe/fio/blob/master/engines/sync.c#L461
다음 방법
fio_syncio_register
을 사용하여 실시 예 sync.c 등록 및 등록 취소에 대한 등록 및 등록을 취소하는 방법이있다
내 질문에 누가이 방법을 부르는거야?
내가 GDB에서 FIO 실행 시도 답을 찾으려면 - fio_syncio_register에 브레이크 포인트를 배치하고 주요 기능에, fio_syncio_register 심지어는 확인__libc_csu_init
및 역 추적을 함께 할 수있는 뭔가가 저를 알려줍니다 주 전에 불려 가도록
(gdb) bt
#0 fio_syncio_register() at engines/sync.c:450
#1 0x000000000047fb9d in __libc_csu_init()
#2 0x00007ffff6ee27bf in __libc_start_main (main=0x40cd90 <main>, argc=2, argv=0x7fffffffe608, init=0x47fb50 <__libc_csu_init>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe5f8)
at ../csu/libc-start.c:247
#3 0x000000000040ce79 in _start()
나는 언젠가에 대한 __libc_csu_init
및 __libc_csu_fini
및 __attribute__((constructor))
로 장식 된 방법에 대한 하나 하나 설명 회담을 읽는 데 소요하는 것은 주 전에 호출되지만, FIO sync.c의 경우 나는 fio_syncio_register __attribute__
누군가이 흐름이 어떻게 작동하는지 이해할 수 있도록 도와 줄 수 있습니까? 이것을 이해하기 위해 읽어야 할 다른 자료가 있습니까?
감사합니다.
와우 나는 이것을 결코 이해하지 못했을 것입니다.이 노력에 대해 대단히 감사합니다. – nachiappan