본문 바로가기

전체 메뉴

D

DOOM in the kernel, or fibers in eBPF

무수정 리눅스 커널의 eBPF 안에서 DOOM 을 돌린 30분짜리 기술 글

기타4일 전
카테고리
기타
웹사이트
ayles.github.io
언어
영어
등록일
4일 전

eBPF 프로그램은 작은 스택, 다섯 개의 인자 레지스터, 제한된 호출 깊이 안에서 돌아야 하고 재귀도 안 되며, 루프가 끝난다는 것을 verifier가 증명할 수 있어야 합니다. DOOM은 그 어느 조건에도 맞지 않는 프로그램입니다. 2026년 9월 9일에 올라온 이 글은 그런 DOOM을 손대지 않은 리눅스 커널에서 BPF 프로그램으로 실행하기까지의 과정을 30분 분량으로 풀어냅니다. 오브젝트 파일은 표준 verifier 검사를 통과하고 표준 JIT로 컴파일되며, 초기화와 게임 로직, 렌더링은 전부 커널 안에서 실행됩니다. 한 프레임을 모두 그리는 게임 틱 하나가 BPF 호출 한 번 안에 끝납니다. 제목 뒷부분의 fibers in eBPF가 그 일을 가능하게 한 기법을 가리킵니다.

이 제품이 마음에 드세요?