디버그 메모리 -4- (Idle Page 추적)

<kernel v5.0>

디버그 메모리 -4- (Idle Page 추적)

/sys/kernel/mm/page_idle/bitmap을 조회하여 idle 페이지를 추적하기 위해 사용한다. 비트맵에서 각 비트는 페이지를 의미하고 8바이트 단위로 정렬하여 사용된다. 1로 설정된 비트가 idle 페이지이다. 이 기능은 유저 페이지에 한하여 사용될 수 있다.

  • bitmap 파일을 사용하여 특정 페이지를 추적하려면 해당 페이지에 해당하는 bit를 1로 설정하고, 해당 페이지에 접근한 후 다시 bitmap을 보면 0으로 변경됨을 확인할 수 있다.

 

사용 조건

  • CONFIG_IDLE_PAGE_TRACKING 커널 옵션

 

 

need_page_idle()

mm/page_idle.c

#ifndef CONFIG_64BIT
static bool need_page_idle(void)
{
        return true;
}
#endif

 

page_idle_init()

mm/page_idle.c

static int __init page_idle_init(void)
{
        int err;

        err = sysfs_create_group(mm_kobj, &page_idle_attr_group);
        if (err) {
                pr_err("page_idle: register sysfs failed\n");
                return err;
        }
        return 0;
}
subsys_initcall(page_idle_init);

 

참고

 

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다