Wonhyuk Yang2022년 4월 24일[IAMROOT] 2022/4/23 NoteQ1: __free_one_pages의 다소 복잡한 이유? A: mm/page_alloc: prevent merging between isolated and other pageblocks CMA 타입과, ISOLATE 타입의 블록 병합 문제 현상...
Wonhyuk Yang2022년 4월 23일Trace Point와 Event Tracer에 대한 NoteIntro 커널 코드를 살펴보면, 종종 "trace_" 접두사가 붙은 함수들을 살펴볼 수 있다. 해당 함수가 어떤 식으로 구현되어 있는지 살펴보려고 태그를 따라가려 하면 태그를 찾을 수 없을 것이다. 만약 해당 함수에 대한 간략한 설명이 있다면...
Wonhyuk Yang2022년 4월 19일Combining lock 노트-WIPBackground 현재 CPU의 발전 흐름은, CPU의 clock의 속도를 늘리는 방향이 아니라 코어의 개수를 늘려 throughput 늘리는 방향으로 진행되고 있다. core의 수가 늘어나면서 memory에 대한 높은 bandwith이...
Wonhyuk Yang2022년 4월 18일Linux kernel ftrace 간단한 원리ftrace(function+tracer)는 커널 내부에서 어떤 일이 일어나는 지 확인하거나, 디버깅 혹은 성능 분석에 많이 사용되는 기능이다. 아래의 그림은 function_graph tracer을 이용하여 call chain을 확인한...
Wonhyuk Yang2022년 4월 17일Contiguous Memory Allocator 노트일반적으로 메모리를 할당 받을 때는 buddy 시스템을 통해 페이지를 할당 받는다. 다양한 anti-fragmentation 기법이 적용된 buddy 시스템이라도 부팅 후에는 지속으로 단편화가 발생하고, 따라서 연속된 큰 메모리를 할당하기...