Wonhyuk Yang2022년 4월 17일Contiguous Memory Allocator 노트일반적으로 메모리를 할당 받을 때는 buddy 시스템을 통해 페이지를 할당 받는다. 다양한 anti-fragmentation 기법이 적용된 buddy 시스템이라도 부팅 후에는 지속으로 단편화가 발생하고, 따라서 연속된 큰 메모리를 할당하기...
Wonhyuk Yang2021년 11월 30일가볍게 살펴보는 Per CPUpercpu는 "percpu: implement new dynamic percpu allocator"의 패치로 리뉴얼 되었습니다. 또한 뒤따르는 후속 패치들로 2800줄에 이르는 코드가 되었습니다. 다양한 내용이 반영된 최신의 percpu.c...
Wonhyuk Yang2021년 11월 19일가볍게 살펴보는 SLUBSlub은 이미 많은 블로그에서 자세히 설명하고 있습니다. 따라서 해당 포스트에서는 중복된 내용을 작성하기보다는, Slub의 기본적인 컨셉을 빠르게 이해하는데에 초점을 맞춥니다. 해당 포스트가 Slub 자료 구조가 어떻게 동작하는지 이해를 도와...
Paran Lee2021년 5월 12일Rmap at 40K Feet (1)역(거꾸로) 매핑이 무엇일까요? 우선 가상 주소로 부터 물리 주소로 변환하는 ( Page Directory -> ... -> PTE -> PFN) "(포워드) 매핑"을 반대로 하는 것이에요! 즉, 역 매핑은 물리 주소(PFN)로 부터 가상...
Wonhyuk Yang2021년 4월 21일Group pages of related mobility to reduce external fragmentationPurpose 해당 패치의 시작은 연속된 큰 메모리 할당(High-order allocations)이 어렵다는 이유로 시작됐다. 연관된 타입들의 페이지들을 grouping 하고 타입 별로 메모리 할당자를 분리하는 것으로 외부 단편화를 줄인다....