리눅스 커널 7.2 릴리스 — 캐시 인지 스케줄링 도입, DRM Fair 스케줄러는 막판 되돌림

리누스 토발즈가 8월 16일(현지 시간) 리눅스 커널 7.2를 릴리스했습니다. 병합 창구에서만 13,412개의 non-merge 커밋이 들어와 2024년 6.7 사이클 이후 가장 바쁜 주기였습니다. 토발즈는 릴리스 공지에서 "마지막 한 주가 또 한…

Continue Reading리눅스 커널 7.2 릴리스 — 캐시 인지 스케줄링 도입, DRM Fair 스케줄러는 막판 되돌림

Multi-Gen LRU(MGLRU) 확인하기 — 세대 히스토그램과 선제적 회수

메모리가 부족해지면 커널은 페이지 캐시나 익명 페이지 중 "안 쓸 것 같은" 것을 골라 내보낸다. 이 판단이 틀리면 방금 내보낸 페이지를 곧바로 다시 읽어들이는 스래싱(thrashing)이 생기고, 저사양 기기나 메모리 상한이…

Continue ReadingMulti-Gen LRU(MGLRU) 확인하기 — 세대 히스토그램과 선제적 회수

메모리가 작은 시스템을 위한 커널 경량화 (5) — 커널 메모리 관리 옵션 검토

지금까지는 커널에 "무엇을 넣을지"(드라이버, 컴파일 옵션, initramfs)를 다뤘다. 이번 편은 각도를 바꿔 커널이 메모리 자체를 어떻게 다루는지 — Page Cache, Swap, Memory Reclaim, Watermark, MGLRU, 그리고 끌 수 있는 디버깅…

Continue Reading메모리가 작은 시스템을 위한 커널 경량화 (5) — 커널 메모리 관리 옵션 검토

[ARM] arch_has_hw_pte_young() 이해

MGLRU(Multi-Gen LRU) 페이지 에이징이나 fork() 이후 CoW(Copy-on-Write) 처리처럼, 커널이 "이 페이지가 최근에 접근됐는가"를 알아야 하는 곳이 많다. 이걸 알아내는 방법은 두 가지다 — 오래된 PTE에 접근할 때마다 일부러 페이지 폴트를…

Continue Reading[ARM] arch_has_hw_pte_young() 이해