본문 바로가기

Programming/Linux_Kernel

linux 병목현상 분석 : latencytop


linux 에는 수많은 디버깅 도구들이 있습니다.
그중 제가 이번에 주목한 녀석은 latencytop 입니다.

이녀석은 동작중에 느려지는 병목현상에서 어떤 프로세서가 문제를 일으키는지 분석해 주는 툴입니다.
무려 arm 에도 포팅이 되어 있다는 사실에 무척 기쁘긴 하지만,
linux tool 들의 단점을 이녀석도 가지고 있습니다.

한눈에 파악하기 힘들다는 점인데요.
이러한 visiblity 를 향상하는 작업을 해보려고 합니다.

우선 이녀석은 다음 두가지 config 와 관련되어 있습니다.

CONFIG_LATENCYTOP
CONFIG_HAVE_LATENCYTOP_SUPPORT


그리고 최소한 다음 파일들에 영향을 미치네요.

fs/proc/base.c:377:#ifdef CONFIG_LATENCYTOP
fs/proc/base.c:2520:#ifdef CONFIG_LATENCYTOP
fs/proc/base.c:2858:#ifdef CONFIG_LATENCYTOP
include/linux/sched.h:1392:#ifdef CONFIG_LATENCYTOP
include/linux/latencytop.h:9:#ifndef _INCLUDE_GUARD_LATENCYTOP_H_
include/linux/latencytop.h:10:#define _INCLUDE_GUARD_LATENCYTOP_H_
include/linux/latencytop.h:12:#ifdef CONFIG_LATENCYTOP
kernel/sysctl.c:403:#ifdef CONFIG_LATENCYTOP
kernel/Makefile:91:obj-$(CONFIG_LATENCYTOP) += latencytop.o

우선 금일은 test 만 진행해 보고 내일 소스를 분석해 봐야겠네요.
멋진 Debugging Tool 이 탄생하길 바랍니다.

linux version : 2.6.29.4 kernel