Linux Kernel

ARM64 inline asm 포팅 가이드 (커널/Clang 포팅 관점)

ARM64(AArch64)에서 inline asm은 “문법이 어렵다”보다 컴파일러가 더 엄격하고 최적화가 더 공격적이라서 사고가 난다.특히 벤더 커널을 Clang으로 옮길 때는 constraint 선택 + clobber + barrier 3개가 대부분의 원인이다. 이 글에서는 ARM64에서…

Continue ReadingARM64 inline asm 포팅 가이드 (커널/Clang 포팅 관점)

Clang/LLVM로 Linux 커널 빌드 하기

이 글은 Ubuntu 환경에서 Clang / LLVM 툴체인을 이용해 Linux 커널을 실제로 빌드하는 방법을 단계별로 정리한다. Clang/LLVM 툴체인 설치는 아래 글을 먼저 확인한다. https://junorionblog.co.kr/linux-%ec%bb%a4%eb%84%90-clang-llvm-%ed%88%b4%ec%b2%b4%ec%9d%b8-%ec%a4%80%eb%b9%84%ed%95%98%ea%b8%b0/ Ubuntu 커널 빌드에 대한건 아래 글을…

Continue ReadingClang/LLVM로 Linux 커널 빌드 하기

Linux 커널 Clang/LLVM 툴체인 준비하기

이 글은 리눅스 커널을 Clang/LLVM 툴체인으로 빌드하기 위한 실전 가이드다.LLVM=1 기반의 표준 빌드 플로우, 크로스 컴파일(arm64 포함), LLD/IAS, BTF(pahole), LTO까지 한 번에 정리한다. 커널에서 말하는 “LLVM 빌드”의 의미 커널 문서에서…

Continue ReadingLinux 커널 Clang/LLVM 툴체인 준비하기

watermark_boost에 대해

watermark_boost는 리눅스 커널의 zone 워터마크(watermark) 기반 메모리 리클레임 시스템에서 사용되는 메모리 부족 예측에 따른 proactive reclaim 트리거 조절 값이다. 말 그대로 워터마크의 임계값(watermark_high)을 일시적으로 높여, 더 많은 페이지를 reclaim 하도록…

Continue Readingwatermark_boost에 대해

커널 Configuration

리눅스 커널을 플랫폼 또는 목적에 맞게 빌드하기 위해서는 .config 파일을 생성하고, 적절한 옵션들을 구성해야 한다. 이 과정은 커널 빌드 전체의 품질과 기능성에 큰 영향을 미친다. 이 글에서는 커널 설정 방법에…

Continue Reading커널 Configuration