Linux의 Page replacement algorithm은 여전히 LRU인가요?
글쓴이: nicelhc13 / 작성시간: 금, 2015/06/05 - 10:21오후
안녕하세요?
현재 제작하는 모듈에서 특정 분류의 페이지 정보를 얻기 위해 페이지 캐시를 traverse해야 합니다.
list_For_each(curr, &zone->lruvec.lists[LRU_INACTIVE_FILE])
list_for_each(curr, &zone->lruvec.lists[LRU_ACTIVE_FILE])
결국 이 코드를 이용해서 3.8 버전전까지는 잘 traverse하고 원하는 페이지를 얻을 수 있었는데,
제가 리눅스 4.0 버전으로 포팅을 하려하니 제대로 작동이 안되네요.
몇 가지 디버깅을 해보니 결국 inactive와 active list가 empty 상태라는 것을 확인했는데,
왜 그럴까 추측을 하니,
1) configuration이 원하는 대로 작성이 안되어 LRU replacement algorithm을 수행하지 않는다.
2) 혹은 다른 방식으로 유지를 한다.(즉 deprecate가 아닐까..)
라고 결론을 내렸습니다만 더이상 답을 알 수가 없네요..
혹시 이 문제에 대해 조언을 주시거나 답을 알려주실 분 계신지요?
감사합니다.
Forums:
댓글 달기