Linux 7.4가 에너지 인증 충족에 도움을 주는 최대 절전 모드(Hibernation) 개선 기능을 가져오다
HARDWARE
이번 사이클의 PCI 변경 사항들은 특별히 눈에 띄는 것은 아닙니다. 많은 핵심 패치와 여러 장치별 향상 기능들이 있지만, 지나치게 흥미로운 것은 없습니다. 언급할 가치가 있고 두드러진 한 가지 변화는 리눅스 최대 절전 모드(hibernation) 과정 중 전원 관리 개선과 관련되어 있습니다.
리눅스의 최대 절전 모드 전원 차단 흐름은 이제 PCI(e) 브리지에 대해 일시 정지(suspend) 흐름과 동기화되었습니다. 이를 통해 해당 브리지들이 최대 절전 모드 과정에서 전원을 끌 수 있게 되었습니다. 이는 리눅스 일시 정지 처리 동작 방식과 일치하지만, 이전에는 브리지가 최대 절전 모드 과정에서 커버되지 않았습니다.
AMD 리눅스 엔지니어인 Mario Limonciello는 해당 변경 사항에 대한 패치 메시지에서 다음과 같이 설명했습니다:
"S3 일시 정지(suspend) 중, pci_pm_suspend_noirq()는 플랫폼이 허용하는 경우 PCIe 브리지와 하위 장치를 저전력 상태(D3hot 또는 D3cold)로 만듭니다. 최대 절전 모드 전원 차단(hibernate poweroff_noirq) 경로는 이를 수행하지 않았습니다. 이 경로는 하위 장치가 없는 장치에 대해서만 pci_prepare_to_sleep()을 호출했기 때문에, 활성 자식 장치를 가진 브리지는 D0 상태로 남아 있었습니다.
많은 설계에서 플랫폼 펌웨어는 시스템이 S4(최대 절전 모드)에 진입할 때 브리지를 그대로 둡니다. 이는 특히 dGPU가 있는 설계의 경우, 전 세계 여러 지역의 다양한 에너지 인증 기준을 충족하는 것을 방해했습니다."
따라서 이 변경 사항은 리눅스 최대 절전 모드 동작 시 전원 관리를 개선하고 에너지 인증을 보장하는 데 도움을 주어 중요합니다.
리눅스 7.4를 위한 PCI 변경 사항 전체 목록은 이 풀 리퀘스트(pull request)에서 확인할 수 있습니다.