1차 공개 · 8월 22일에 1차 강의가 모두 공개됩니다.
TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 22 READS

리눅스 7.2 공개: 스케줄러 개편과 라즈베리파이 GPU 절전 개선

리눅스 7.2 공개: 스케줄러 개편과 라즈베리파이 GPU 절전 개선
SOURCE IMAGE · HACKER NEWS

리눅스 커널 7.2가 정규 개발 일정에 맞춰 이번 주 태그되고 배포됐다. 이번 주기는 역대급으로 바빴던 사이클 가운데 하나로, 개발 규모 면에서는 6.7 주기에만 뒤졌다. 최근 서너 개 주기가 연이어 붐볐고 특히 버그 수정 물량이 많았던 만큼, 커널 관계자들은 이런 밀도를 이제 '뉴 노멀'로 받아들이는 분위기다. 이번 판에는 캐시 인지형 스케줄링(cache-aware scheduling), 메모리 회수 알고리즘 MGLRU 개선, sched_ext의 서브 스케줄러 개념 도입, 여러 크기의 투명 거대 페이지(multi-size transparent hugepage) 자동 생성 등 실무자 입장에서 눈여겨볼 변화가 다수 포함됐다.

오픈소스 컨설팅 기업 이갈리아(Igalia)는 이번에도 상당한 기여를 했는데, 그중 대표 항목이었던 DRM 스케줄러의 '공정(fair) 정책'은 막판 변수에 발목이 잡혔다. 이 정책은 여러 클라이언트가 하나의 GPU를 나눠 쓰는 상황, 특히 가벼운 대화형 작업이 무거운 작업과 GPU를 두고 경쟁할 때 응답성을 크게 끌어올리는 것을 목표로 한다. 그러나 7.2-rc7 주간에 회귀(regression) 버그가 뒤늦게 보고되면서, 기본 정책은 결국 기존의 선입선출(FIFO) 스케줄러로 유지됐다. 다만 회귀 원인과 수정 방향은 이미 파악됐고 초기 테스트도 긍정적이어서, 다음 커널 릴리스에서 재활성화될 가능성이 열려 있다. 지금은 원하는 사용자가 옵트인 방식으로만 켤 수 있다.

스케줄러 디버깅과 관측성

sched_ext 관련 관측성(observability) 개선도 실무적으로 의미가 있다. BPF로 작성한 커스텀 스케줄러가 런타임 오류를 내면, 예컨대 30초가 넘도록 특정 태스크를 스케줄하지 못하면 커널은 해당 스케줄러를 강제로 내리고 기본 스케줄러로 복귀시킨다. 이때 원인 분석을 돕기 위해 각 CPU의 상태를 덤프하는데, 코어 수가 많은 시스템에서는 커널과 사용자 공간 사이의 버퍼 크기 제한 탓에 덤프가 잘려나가는 문제가 있었다. 이번 개선은 오류를 촉발한 CPU(exit CPU)를 가장 먼저 덤프하도록 우선순위를 두고, 그 CPU ID를 BPF 스케줄러와 사용자 공간 도구에 직접 노출하도록 바꿔 잘림 상황에서도 핵심 정보를 놓치지 않게 했다.

라즈베리파이 GPU의 전력과 안정성

라즈베리파이 사용자에게 가장 체감될 변화는 라즈베리파이 4·5 GPU의 런타임 전력 관리(Runtime PM) 지원이다. 기존 V3D 드라이버는 매우 단순한 전력 모델을 썼다. 드라이버가 초기화되는 프로브 단계에서 GPU 클록을 켠 뒤, 드라이버가 살아 있는 동안 계속 켜둔 것이다. 동작은 문제없었지만, GPU가 아무 작업도 하지 않는 유휴 상태에서도 전력을 소모한다는 한계가 있었다. 런타임 PM이 들어오면서 이제 GPU는 실제로 작업을 처리할 때만 전원이 들어오고, 유휴 상태에서는 클록을 끌 수 있게 됐다. 이갈리아는 이 기능에 대한 실측 전력 데이터를 담은 별도의 블로그 글도 공개했다.

오래 묵은 버그 수정도 눈에 띈다. 라즈베리파이 3 GPU 드라이버에서 수년간 레트로파이(RetroPie) 사용자를 괴롭혀 온 두 건의 버그가 해결됐다. GPU가 프레임을 처리하다가 타일 메모리 공간이 부족해질 때 커널이 이를 다루는 방식에 문제가 있어, 무작위 GPU 멈춤과 시스템 전체 다운을 유발했다. 수정안은 각 그래픽 작업이 자기 몫의 메모리 영역에만 쓰도록 하고, 재사용되는 메모리는 다시 쓰기 전에 반드시 초기화하도록 해 오래되거나 손상된 데이터가 GPU로 흘러드는 것을 막는다. 이로써 메뉴를 오가다 시스템이 죽던 현상이 사라질 것으로 기대된다. 아울러 라즈베리파이 4·5의 GPU 리셋 과정을 더 일관되고 안정적으로 만드는 수정도 함께 반영됐다.

저수준 동기화와 부팅 코드

눈에 잘 띄지 않지만 파급력이 큰 영역에서도 진전이 있었다. 온갖 워크로드가 동기화 기법을 만드는 데 쓰는 시스템 콜 futex()에서, 14년 묵은 버그가 이번 주기에 정리됐다. 특정 엣지 케이스에서 로버스트 리스트(robust list) 메커니즘에 데이터 손상을 일으키던 문제로, 오래된 만큼 근본 설계에 손을 대는 작업이 필요했다. 또 ueagle-atm 드라이버에서는 request_firmware API를 거치는 장치 프로브와 분리 과정에서 kernfs의 생성·제거 연산이 충돌하던 경쟁 조건을 바로잡았다. 이 버그는 수년에 걸쳐 syzbot 자동 퍼징 도구에 여러 차례 잡혀 온 것이다. x86 부팅 과정에서 쓰이는 memcmp()의 인라인 어셈블리 구현도 컴파일러 최적화와 명령어 재배치로 인한 미묘한 오동작을 막도록 정확성이 보강됐다.

마지막으로 HDMI 2.1의 고정 전송률 링크(FRL) 지원 일부가 이번 판에 들어왔다. 이 코드의 뿌리는 이갈리아의 로드리고 시케이라(Rodrigo Siqueira)가 AMD 재직 시절 진행한 작업으로 거슬러 올라간다. amdgpu 드라이버가 HDMI 2.1 모니터와 통신할 수 있게 하는 초기 지원으로, 원래 코드의 상당 부분은 수년간 메인라인 바깥에 머물다가 이번에 편입됐다. 일부는 처음 작성된 형태 그대로, 일부는 다듬어져 반영됐다. 종합하면 리눅스 7.2는 화려한 신기능보다 스케줄러 관측성, 전력 효율, 오래된 결함 정리처럼 실사용 안정성과 운영 비용에 직결되는 개선이 두드러진 판이다. 다만 공정 스케줄러가 기본값이 되지 못한 점은 다음 릴리스를 지켜봐야 할 대목으로 남았다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://www.igalia.com/2026/08/19/Linux-72-Released.html
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...