kmem_cache_shrink ,kmem_cache_reap 가 어떻게 틀린가요?
글쓴이: maja / 작성시간: 토, 2005/04/23 - 11:17오전
코드를 보면 kmem_cache_shrink는
크기를 줄일 cache를 인자로 받고, 거기서 free slab들을 지우는듯합니다.
kmem_cache_reap은 크기를 줄일 cache를 "골라서",
free slab을 지우는거 같고요.
cache_reap은 지울 슬랩을 고른다는거 말고는 동작에 큰차이를
모르겠습니다..
왜 이 두개의 함수가 존재해야하는지 모르겠네요..
kmem_cache_reap은 kmem_cache_shrink를 이용해서
더 간단하게 구현할수 있을것같은데요..
참고로 커널 2.4 입니다.
Forums:
두 함수는 하는 일도 틀리고 사용하는 용도도 틀립니다. kmem_cach
두 함수는 하는 일도 틀리고 사용하는 용도도 틀립니다. kmem_cache_shrink()는 지정한 cache의 모든 free slab을 없애는 일을 합니다. kmem_cache_reap()은 메모리가 부족했을 때 부르는 함수로 모든 free slab을 지우기 보다는 모든 cache에 대해 필요한만큼 적당히 free slab을 없애는 일을 합니다.
Freedom is another word for nothing left to lose,
Nothing doesn't mean nothing if it ain't free.
댓글 달기