/
https://42jerrykim.github.io/ _index.md
인터럽트 처리의 top half/bottom half 구조, softirq·NAPI·threaded IRQ 메커니즘을 설명하고, IRQ affinity·irqbalance·managed_irq로 저지연 워크로드의 격리 코어에서 인터럽트를 배제하는 실전 전략을 정리합니다. mlock·mlockall로 페이지 폴트와 스왑을 막아 저지연 프로세스의 메모리를 고정하는 원리를 다룹니다. RLIMIT_MEMLOCK, MCL_ONFAULT, 스택 프리폴트 패턴과 OOM 위험 등 트레이드오프를 실전 코드로 정리합니다. NUMA 노드별 CPU affinity와 스레드 배치 정책을 다룹니다. numactl·libnuma로 CPU·메모리 정책을 지정하는 법, sub-NUMA clustering/NPS 환경의 배치 전략, 자동 NUMA 밸런싱과의 상호작용, 메모리 지역성과의 경계(Tr.04)를 정리합니다. 프로세스와 스레드의 자원 격리·통신 비용 차이를 clone() 플래그(CLONE_VM/FILES/SIGHAND) 수준에서 분석하고, fork(COW)와 pthread_create의 생성 비용을 비교하며, 저지연 서비스에서 장애 격리와 통신 비용을 기준으로 아키텍처를 선택하는 방법을 정리합니다. SCHED_FIFO/SCHED_RR 실시간 정책의 선점·우선순위 모델부터 sched_ext BPF 스케줄러, EEVDF 전환, Cache-Aware Scheduling 병합까지 다루며 정책 선택 기준과 격리 없는 실시간 적용의 위험을 정리합니다. 시그널 전달이 커널 트랩·컨텍스트 저장·async-signal-safe 제약으로 만드는 지연 비용을 분석하고, EINTR과 실시간 시그널 큐 오버플로우를 다루며, signalfd와 시그널 마스킹으로 저지연 경로에서 시그널을 회피하는 전략을 정리합니다. 시스템 콜 진입·탈출의 모드 전환 비용과 Meltdown 완화(KPTI)가 더한 오버헤드를 분석하고, vDSO로 커널 진입을 우회하거나 writev·sendmmsg 배치로 syscall 횟수를 줄여 지연을 낮추는 실전 기법을 다룹니다. XDP와 eBPF가 네트워크 드라이버 계층에서 패킷을 조기 처리하는 원리, verifier의 안전성 보장 메커니즘, BPF Token 기반 권한 위임과 동적 스택 alloca 논의 등 2025–2026 최신 동향을 개관합니다. RDTSC/RDTSCP로 사이클 단위를 직접 읽는 법과 clock_gettime의 CLOCK_MONOTONIC 계열을 대조하고, invariant TSC·코어 동기화·vDSO 동작 원리, 그리고 정밀 타이밍에서 흔히 걸리는 함정을 다룹니다. DPDK·RDMA·io_uring·AF_XDP가 각각 커널을 얼마나 우회하는지, syscall·복사·인터럽트 비용을 줄이는 스펙트럼을 정리하고 이 트랙의 범위와 Tr.09·Tr.10 심화 트랙으로의 위임 경계를 다룹니다.