-
Notifications
You must be signed in to change notification settings - Fork 0
Event list
DrZix edited this page Oct 23, 2015
·
13 revisions
##형식?
kprobe 가능한지 확인
- /proc/kallsym 체크
- /sys/kernel/debug/kprobes/blacklist 체크
- task.create -> count
-
_do_fork
, 검증 필요, pid이용해 테스트
- task.exit -> count
do_exit
- task.switch -> count
-
prepare_task_switch
(rq, prev, next) -> 불가능 -
finish_task_switch
(prev) -> 가능
- task.exec -> count
-
do_execveat_common.isra.34
-> 대부분의 피씨에서 제너럴하게 쓰이는 함수인 것인지 모르겠다.
speed(rate) = count/sec
size
- memory.alloc -> count, size
__kmalloc
- memory.free -> count
kfree
- memory.alloc_page -> count, size
- NUMA CONFIG -
__alloc_pages_nodemask
(order를 이용하여 사이즈 계산)
- memory.free_page -> count, size
-
free_hot_cold_page
: order 0일때 호출 -
__free_pages_ok
: order 체크
- memroy.reclaim -> count
####reclaim
- background reclaim
kswapd
- watermark가 있어서 메로리 할당할때 watermark를 체크해두고 high, low, min이 있고 low가 됬을때 background reclaim을 함,low가 됬을때 kswapd 커널스레드가 메로리를 high만큼 회수한후 sleep
balance_pgdat
- direct reclaim
- min만큼 떨어지면 메모리를 할당하려는 process에게 직접 reclaim을 하게 함
try_to_free_pages
- fs.pagecache__access
- perf read callback을 사용해 callchain[0]이 do_generic_file_read -> 틀림
-
vfs_read
를 체크하는게 좋을듯 - pagecache_get_page (callchain check 필요)
-
__vfs_read
read -
__do_fork
read __find_get_block
ext4_da_write_begin
ummap_underlyting_metadata
-
- 일단은 다재고 나중에 필요하면
__vfs_read
만 체크
- fs.pagecache__miss
- do_generic_file_read안에서 불려야함
- page_cache_sync_readahead (callchain check 필요)
- fs.read_ahead
- __do_page_cache_readahead
- fs.page_writeback (write를 몰아서 한번에)
- background writeback wakeup
- wb_start_background_writeback
- per indoe (파일단위로) - __writeback_single_inode
- io.disk__read -> size
- io.disk__write -> size
- net.packet__send -> size
- net.packet__recv -> size
count( ) speed( )
ex) count(task.create) > 100 and (speed(task.create) <= 5 or count(task.exit) >10)