# Linux 6.11 출시

> Clean Markdown view of GeekNews topic #16791. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16791](https://news.hada.io/topic?id=16791)
- GeekNews Markdown: [https://news.hada.io/topic/16791.md](https://news.hada.io/topic/16791.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-09-16T10:02:48+09:00
- Updated: 2024-09-16T10:02:48+09:00
- Original source: [lwn.net](https://lwn.net/Articles/990307/)
- Points: 11
- Comments: 3

## Summary

Linux 6.11 커널은 `io_uring`의 새로운 작업, Rust로 블록 드라이버 작성 지원, vDSO `getrandom()` 구현 등 다양한 기능을 추가하여 성능과 보안을 크게 향상시켰습니다. 64비트 Arm 아키텍처의 CPU 핫플러그 지원과 x86의 AMD SEV-SNP 보안 암호화 가상화 기능 등 아키텍처별 개선 사항도 주목할 만합니다. 새로운 전원 시퀀싱 서브시스템과 "sloppy logic analyzer" 모듈 등은 임베디드 및 IoT 환경에서의 활용도를 높일 것으로 기대됩니다.

## Topic Body

- Linus Torvalds가 6.11 커널을 출시했음  
  - 그의 메시지 : "다시 한번 여행 중이고, 내 일반적인 시간대가 아니지만, 여기 비엔나에서는 일요일 오후이고, 6.11이 나왔음."  
- 이번 릴리스의 주요 변경 사항에는 `io_uring`의 새로운 `bind()` 및 `listen()` 작업, 중첩된 하프 락킹 패치, 바쁜 실행 파일에 쓰기 기능, Rust로 블록 드라이버 작성 지원, 블록 레이어에서 원자적 쓰기 작업 지원, 전용 버킷 슬랩 할당자, `getrandom()`의 vDSO 구현 등이 포함됨  
  
#### 아키텍처별 변경 사항  
- 64비트 Arm 아키텍처는 이제 ACPI 시스템에서 CPU 핫플러그를 지원함. 자세한 내용은 [이 문서 커밋](https://git.kernel.org/linus/828ce929d1c3) 참조  
- X86 커널은 이제 AMD의 [SEV-SNP](https://www.amd.com/en/developer/sev.html) 보안 암호화 가상화 기능을 사용하여 게스트로 실행 가능. [보안 VM 서비스 모듈](https://lwn.net/Articles/921266/) 이용  
- X86의 "fake EFI 메모리 맵" 기능 제거됨. 이 기능은 부팅 시 허구의 메모리 맵 항목을 만들 수 있게 하지만, 기밀 컴퓨팅 구성과 일치하지 않음  
- x86-64 시스템용 AES-GCM 암호의 새로운 구현. 성능 향상이 항상 환영 받지만, 이 기여는 코드와 작동 방식에 대한 광범위한 문서화로도 주목할 만함. 자세한 내용은 [이 커밋](https://git.kernel.org/linus/b06affb1cb58) 참조  
- PowerPC 40x 플랫폼 지원이 제거됨  
- RISC-V 시스템에 메모리 핫플러깅 지원이 추가됨  
  
#### 코어 커널  
- io_uring 서브시스템은 이제 [bind()](https://man7.org/linux/man-pages/man2/bind.2.html)와 [listen()](https://man7.org/linux/man-pages/man2/listen.2.html) 구현하는 작업 제공  
- nsfs(네임스페이스) 파일 시스템의 새로운 ioctl() 작업 세트는 PID 네임스페이스 간 프로세스 및 스레드 그룹 ID 변환 수행  
- pidfd 파일 시스템은 pidfd로 표현되는 프로세스의 네임스페이스 파일 디스크립터 획득을 위한 새로운 ioctl() 호출 지원  
- [중첩된 bottom-half 잠금 패치](https://lwn.net/Articles/978189/)가 병합됨. 이는 주로 실시간 커널의 지연 시간 개선을 위한 것이지만, 다른 사용자에게도 이점이 있을 것  
- 현재 x86-64 시스템에서만 구현된 새로운 시스템 호출인 uretprobe()가 있음. 이것의 역할은 사용자 공간 프로세스에 동적으로 삽입되는 [uretprobe](https://docs.kernel.org/trace/uprobetracer.html)(함수 반환 추적점)의 처리를 최적화하는 것  
- [function-graph tracer](https://docs.kernel.org/trace/ftrace.html#function-graph-tracer)에 대한 단일 사용자 제한이 제거됨  
- 새로운 reserve_mem= 커맨드 라인 매개변수를 사용하여 명명된 메모리 영역을 예약할 수 있음. 이는 [pstore](https://docs.kernel.org/admin-guide/pstore-blk.html) 하위 시스템과 함께 새로운 ramoops.mem_name= 매개변수와 함께 사용하기 위한 것  
  
  
#### 파일 시스템 및 블록 I/O  
- [statx()](https://man7.org/linux/man-pages/man2/statx.2.html) 시스템 호출은 이제 AT_EMPTY_PATH 플래그가 설정된 경우 경로 인수가 null 포인터일 수 있음  
- [open_by_handle_at()](https://man7.org/linux/man-pages/man2/open_by_handle_at.2.html) 시스템 호출은 6.11에서 호출자가 파일에 적절한 액세스 권한이 있다고 커널이 확인할 수 있는 상황에서 이 시스템 호출에 대한 권한 검사가 다소 완화됨  
- 리눅스 커널은 전통적으로 시스템 어딘가의 프로세스에서 사용 중인 실행 파일에 대한 쓰기를 차단했음. 이는 실행 중인 프로그램의 불쾌한 놀라움을 방지하기 위한 것. 커널 개발자들은 몇 년 동안 이 제한을 점차 없애고 있음. 6.11부터는 커널이 더 이상 사용 중인 실행 파일에 대한 쓰기를 방지하지 않음  
- Btrfs 파일 시스템은 rescue= 마운트 옵션에 대해 몇 가지 새로운 값(ignoremetacsums 및 ignoresuperflags)을 인식함. 이들은 사용자 공간 도구에 의해 부분적으로 변환된 파일 시스템(특히 체크섬 변환을 수행하는 파일 시스템)의 복구를 지원하기 위한 것  
- Btrfs가 블록 그룹 회수를 수행하는 방식이 개선되었음. 이는 파일 시스템이 가득 차지 않았음에도 여유 공간을 사용할 수 없는 상황을 피하기 위한 것. 새로운 동적 회수 임계값 작동 방식에 대한 설명은 [이 커밋](https://git.kernel.org/linus/f5ff64ccf7bb) 참조  
  
  
#### 하드웨어 지원  
- Qualcomm SM8650 카메라 클록 컨트롤러  
- SPD5118을 준수하는 온도 센서, Monolithic Power Systems MP2993 듀얼 루프 디지털 멀티-페이즈 컨트롤러 등 하드웨어 모니터링  
- ChromeOS 임베디드 컨트롤러 센서, ChromeOS EC 기반 충전 컨트롤러 등 기타  
- Realtek RTL8192DU USB 무선 네트워크 어댑터, Renesas Ethernet-TSN 인터페이스, Vining 800 CAN 인터페이스 등 네트워킹  
- Amlogic C3 PLL 클록 컨트롤러, Qualcomm SM7150 디스플레이/카메라/비디오 클록 컨트롤러 등 시계 관련  
- NXP IMX91 핀 컨트롤 유닛, Nuvoton MA35 핀 및 GPIO 컨트롤러 등 GPIO 및 핀 컨트롤  
- Lincoln Technologies lcd197 패널, Ilitek ILI9806E 기반 패널 등 그래픽  
- 산업용 I/O, 입력장치, 미디어, 기타, PHY, 사운드, USB 등 다양한 분야에 새로운 하드웨어 지원 추가  
  
#### 기타  
- 시스템의 장치를 올바른 순서로 가동하도록 하는 새로운 전원 시퀀싱 서브시스템이 등장  
- "sloppy logic analyzer" 모듈은 GPIO 라인 세트를 저예산 논리 분석기로 전환할 수 있음  
- perf 도구에 많은 새로운 기능이 추가되었음  
- [펌웨어 로딩을 위한 작은 Rust 추상화 세트](https://git.kernel.org/linus/de6582833db0)가 병합됨. 아직 Rust로 중요한 드라이버를 작성하는 데 필요한 많은 부분이 있지만, 그 목록은 점점 줄어들고 있음  
  
#### 네트워킹  
- 새로운 net.tcp_rto_min_us sysctl 노브를 사용하여 TCP 소켓의 최소 재전송 시간 초과 조정 가능  
- ethtool 유틸리티는 [Net DIM](https://www.kernel.org/doc/html/latest/networking/net_dim.html)을 사용하는 인터페이스에 대한 인터럽트 구성을 미세 조정할 수 있게 되었음  
  
#### 보안 관련  
- [전용 버킷 슬랩 할당자](https://lwn.net/Articles/965837/)가 병합되었음. 이는 힙 스프레이 공격에 대한 보호를 제공하기 위한 것  
- [vDSO getrandom() 구현](https://lwn.net/Articles/980447/)으로 인해 무작위 데이터 생성이 크게 가속화될 것. 구현이 기사 작성 이후 다소 변경되었음. 자세한 내용은 [이 업데이트](https://lwn.net/Articles/983186/) 참조  
  
#### 가상화 및 컨테이너  
- KVM에서 AMD의 [SEV-SNP](https://www.amd.com/en/developer/sev.html) 보안 암호화 가상화 메커니즘에 대한 초기 지원이 추가됨  
- 게스트가 실행되기 전에 게스트의 메모리를 미리 채우기 위한 새로운 KVM ioctl() 호출이 있음  
  
#### 내부 커널 변경  
- 6.11에 병합된 첫 번째 변경 사항은 리누스 토발즈가 추가한 새로운 "런타임 상수" 메커니즘  
- iomap 하위 시스템에 대한 [일부 문서화](https://git.kernel.org/linus/a7ca193bc9b6)가 마침내 이루어짐  
- 커널을 빌드하는 데 필요한 GNU Make의 최소 버전이 4.0으로 높아짐   
- 6.11에서 118개의 내보낸 기호가 제거되고 464개가 추가되어 순 증가가 346개. 6개의 새로운 kfunc도 있음  
  
  
### GN⁺의 의견  
- 6.11 커널 릴리스에서는 많은 아키텍처 별 개선 사항들과 하드웨어 지원이 확장된 것이 인상적. 특히 64비트 ARM과 x86에서의 CPU 핫플러그와 AMD의 SEV-SNP 지원 등은 보안과 가상화 측면에서 의미가 큼  
- io_uring과 BPF에 새로운 기능들이 추가되면서, 고성능 I/O와 eBPF 프로그래밍에 대한 커널 수준의 지원이 강화되는 추세. 이는 시스템 성능 최적화와 모니터링, 네트워킹 등에 큰 도움이 될 것  
- 전원 시퀀싱이나 sloppy 논리 분석기 같은 새로운 서브시스템과 모듈의 등장은 임베디드나 IoT 환경에서 리눅스 커널의 활용도를 높일 것으로 기대됨  
- 런타임 상수나 문서화 개선 등 커널 내부적인 코드 최적화와 개발 편의성 개선도 꾸준히 이루어지고 있음. 하지만 아직 문서화가 부족한 부분들이 많은 만큼, 커뮤니티 차원의 협력이 더욱 필요해 보임  
- 6.11 병합 윈도우의 후반부에는 여러 아키텍처에 대한 성능 개선과 새로운 하드웨어 지원이 주를 이룸. 특히 x86-64의 AES-GCM 암호 최적화와 RISC-V의 메모리 핫플러깅 지원 등은 주목할 만한 변화  
- KVM에서 AMD의 SEV-SNP에 대한 초기 지원이 추가되는 등 가상화 보안 측면에서도 발전이 있었음. 이는 클라우드와 엣지 컴퓨팅 환경에서 리눅스 커널의 역할이 더욱 확대될 것임을 시사  
- 펌웨어 로딩과 힙 스프레이 방지 등을 위한 Rust 추상화 도입은 시스템 프로그래밍 언어로서 Rust의 가능성을 보여줌. 앞으로 커널 내 Rust 코드의 비중이 점차 늘어날 것으로 예상됨   
- 확장 가능한 스케줄러 클래스 병합이 연기된 것은 아쉽지만, 충분한 검토와 안정화를 위해 불가피한 선택으로 보임. 스케줄러는 시스템 성능에 직결되는 만큼 신중한 접근이 필요

## Comments



### Comment 29621

- Author: ehlegeth
- Created: 2024-10-03T11:00:05+09:00
- Points: 1

"6.10.10으로 업데이트 후에도 간헐적으로 절전 모드에서 깨어나지 않음"  
나만 그런게 아니었구나...

### Comment 28949

- Author: xcutz
- Created: 2024-09-16T17:10:03+09:00
- Points: 6

토발즈형 한 200살은 더 살아야겠다

### Comment 28945

- Author: neo
- Created: 2024-09-16T10:02:48+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41548474) 
- 6.10 버전은 여러 주요 버그로 인해 문제가 많았음
  - amdgpu 관련 버그 3개로 비디오 손상, 시스템 중단 및 충돌 발생
  - 6.10.10으로 업데이트 후에도 간헐적으로 절전 모드에서 깨어나지 않음
- Linux 3.11 버전 이후로 많은 발전이 있었음
- Torvalds가 여전히 Linux 커널 릴리스 노트를 작성하는 것에 감탄함
- 기뻐할 만한 소식
  - Rust로 블록 드라이버 작성 지원
  - 블록 레이어에서 원자적 쓰기 작업 지원
- 6.12 버전에 대한 기대: sched_ext, PREEMPT_RT
- 새로운 Snapdragon X 지원에 대해 의견을 구함
- 런타임 상수를 어떻게 구현할지 궁금해함
- 스마트폰용 GNU/Linux의 시대는 언제 올지 궁금해함
  - Android는 적합하지 않음
  - 스마트폰에 데스크탑처럼 쉽게 배포판을 설치할 수 있기를 바람
- 이제 Linux 노트북을 RAM에 일시 중지할 수 있는지 궁금해함
- Ubuntu가 Oracular 베타에 이 기능을 며칠 동안 적용하고 테스트했다고 주장할 날을 기다림
