USB4STREAM, CPU 사이클 증가를 대가로 낮은 지연 시간을 제공하는 Busy Poll 옵션 추가
요약
Intel 엔지니어들이 USB4/Thunderbolt를 통해 로우 패킷을 전송하는 USB4STREAM 프로토콜에 'busy poll' 옵션을 추가했습니다. 이 옵션은 인터럽트와 스케줄링으로 인한 지연 시간을 줄이는 대신 CPU 사이클을 더 많이 소모하는 방식입니다.
핵심 포인트
- USB4STREAM 프로토콜에 낮은 지연 시간을 위한 busy poll 옵션 도입
- 인터럽트 및 워커 스케줄링을 피하여 지연 시간 최소화
- 낮은 지연 시간의 대가로 더 높은 CPU 사이클 소모 발생
- Linux 7.3 이상에서 ConfigFS 인터페이스를 통해 제어 가능
USB4STREAM, CPU 사이클 증가를 대가로 낮은 지연 시간을 제공하는 Busy Poll 옵션 추가

Intel 엔지니어들은 USB4/Thunderbolt를 사용하여 호스트 간에 로우 패킷 (raw packets)을 전송하는 매우 단순한 방법으로 USB4STREAM 프로토콜을 개발했습니다. Claude Opus 4.8의 도움을 받은 Intel Thunderbolt 전문가 Mika Westerberg는 더 낮은 지연 시간 (latency) 전송을 제공하기 위해 USB4STREAM을 위한 busy polling 방식을 고안했습니다. 대기 중인 패치(queued patch)는 다음과 같이 설명합니다:
"인터럽트 (interrupts)와 워커 스케줄링 (scheduling workers)을 사용하는 것은 지연 시간을 증가시키므로, 지연 시간에 민감한 애플리케이션은 이를 피하고자 할 수 있습니다. 새로운 ConfigFS 속성인 busy_poll을 추가하여 USB4STREAM에서 이를 가능하게 하십시오. 이 속성이 활성화되면 링 (rings)을 폴링 (polling) 모드로 전환합니다. 낮은 지연 시간에 대한 대가는 더 많은 CPU 사이클을 소모하며, poll(2)와 같은 기능을 사용할 수 없다는 점입니다."
Linux 7.3 이상에서 USB4STREAM을 위한 이 busy poll 모드는 다음 인터페이스를 통해 토글할 수 있습니다:
/sys/kernel/config/thunderbolt/stream/[xdomain].[service]/$name/busy_poll
이 패치는 현재 다가오는 Linux 7.3 병합 윈도우 (merge window)를 앞두고 thunderbolt.git의 next 브랜치에 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기