Linux 7.1, UDP-Lite 폐지 – 정제된 코드로 더 나은 성능 제공

발행: (2026년 3월 16일 PM 07:41 GMT+9)
4 분 소요

Source: Hacker News

배경

다가오는 Linux 7.1 커널 사이클에서는 UDP‑Lite 지원을 폐기할 예정입니다. UDP‑Lite는 부분 체크섬을 허용하여 손상되거나 손상된 패킷이라도 애플리케이션에 전달될 수 있게 했습니다. Linux 2.6.20 시절부터 UDP‑Lite 지원이 있었지만, 오랜 기간 동안 발생한 문제와 UDP‑Lite를 사용하지 않는 사용자들의 성능 향상 기회를 이유로 커널에서 이를 폐기하려 합니다.

폐기 세부 사항

Amazon/AWS의 Kuniyuki Iwashima가 수년간 확인되지 않았던 문제와 UDP‑Lite를 커널에서 제거함으로써 얻는 성능 이점을 설명했습니다:

2023년에 syzbot이 UDP‑Lite가 전체 메모리 사용량이 UDP‑Lite UDP 모두에 대해 시스템 전체 임계값인 net.ipv4.udp_mem을 초과했을 때 skb를 할당하려다 발생하는 null‑ptr‑deref 버그를 발견했습니다.
이 임계값은 UDP와 공유되기 때문에 실제 애플리케이션이 UDP‑Lite를 사용한다면 버그를 쉽게 트리거할 수 있었겠지만, 실제로는 syzbot만이 이 버그를 발견했습니다.
이 버그는 2016년부터 존재했으며, 이는 UDP‑Lite가 그 시점까지 7년 동안 사용되지 않았음을 시사합니다.
버그는 커밋 ad42a35bdfc6 (“udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().”)에서 수정되었고, 또 다른 커밋 be28c14ac8bb (“udplite: Print deprecation notice.”)에서 폐기 계획을 알렸습니다.
그 이후로 아무도 불평하지 않았으므로, 이제 공식적으로 UDP‑Lite를 폐기할 시점입니다.

폐기 과정은 먼저 IPv6와 IPv4 UDP‑Lite 소켓을 제거하고, 이후 UDP 스택 내에 남아 있는 불필요한 코드를 차례로 정리합니다.

성능 영향

UDP‑Lite에 대한 여러 조건문을 빠른 경로에서 제거함으로써, 20 000개의 흐름을 가진 udp_rr은 AMD EPYC 7B12 (Zen 2) 64‑Core Processor 플랫폼에서 패킷당 초당 10 % 증가(13.3 Mpps → 14.7 Mpps)를 보였습니다.

FDO를 사용할 경우 기본값이 훨씬 높으며, 차이는 약 3 % (20.1 Mpps → 20.7 Mpps)였습니다.

따라서 UDP‑Lite 코드는 수년간 사용되지 않았으며, 이를 제거함으로써 다른 UDP 워크로드에 대해 3 % – 10 % 정도의 눈에 띄는 성능 향상을 기대할 수 있습니다.

일정

  • 2023 – 폐기 공지가 추가되어 2025년 제거 예정이라고 알림.
  • 2025 – Linux 6.18 LTS 출시; 불만 제기 없음.
  • 2026 – Linux 7.1 사이클의 일부로 제거 진행.

병합 참고

Linux retiring UDP-Lite

이 병합 커밋net-next에서 UDP‑Lite를 폐기하며, Linux 7.1에 병합될 계획을 담고 있습니다.

0 조회
Back to Blog

관련 글

더 보기 »

OpenSUSE 칼파

Kalpa는 원자적이고 트랜잭션 기반의 Linux 운영 체제로, Plasma Desktop Environment를 제공합니다. !Matrix badgehttps://img.shields.io/matrix/kalpa%3Aopensus...

젠클라라 OS

Optimized & Light Zenclora는 최적화된 kernel을 갖춘 고성능, 균형 잡힌, 안정적인 시스템을 제공합니다. Zero bloatware, maximum efficiency. 아름다운 디자인…

Jemalloc, Meta가 포기하지 않음

- Meta는 소프트웨어 인프라에서 고성능 메모리 할당기인 jemalloc의 장기적인 이점을 인식하고 있습니다. - 우리는 jemalloc에 대한 관심을 새롭게 하고 있습니다…