Qualcomm QCE 드라이버, Armv8 암호화 확장(Crypto Extensions)보다 약 48배 느려 폐기 위기
요약
Qualcomm QCE 드라이버가 Armv8 암호화 확장(CE)보다 약 48배 느린 성능을 보여 Linux 커널에서 제거될 위기에 처했습니다. 성능 저하가 심각하여 CPU 사이클을 과도하게 소비함에 따라, 전문가들은 해당 드라이버의 완전한 삭제를 제안하고 있습니다.
핵심 포인트
- Qualcomm QCE 드라이버가 Armv8 CE 대비 약 48배 느린 성능 기록
- CPU 직접 해싱보다 더 많은 CPU 사이클을 소비하는 비효율성 발견
- Linux 커널 전문가 Eric Biggers가 드라이버 코드 완전 제거 제안
- 커널 메일링 리스트에서 드라이버 유지 여부에 대한 논의 진행 중
Qualcomm QCE 드라이버, Armv8 암호화 확장(Crypto Extensions)보다 약 48배 느려 폐기 위기

Google의 Linux 커널 암호화 전문가인 Eric Biggers는 Qualcomm QCE 드라이버를 단순히 "BROKEN" Kconfig 노브(knob) 뒤로 숨기는 것에 그치지 않고, 아예 완전히 제거하는 방안을 검토하고 있습니다. 그 동기는 QCE가 적절한 Linux 커널 사용 방식에 더 부합하는 ARMv8 암호화 확장(ARMv8 Crypto Extensions, ARMv8 CE)보다 약 48배 느리다는 사실이 발견되었기 때문입니다. QCE는 약 48배 느릴 뿐만 아니라, 다음과 같은 상황을 초래했습니다.
"실제로 CPU에서 직접 해싱을 수행하는 것보다 훨씬 더 많은 CPU 사이클을 소비합니다."
만약 이 조사 결과가 정확하다면, 이 드라이버는 완전히 쓸모없는 것이 됩니다.
이 커널 메일링 리스트 스레드에서 더 자세한 내용을 확인할 수 있습니다:
"sha256-lib (즉, ARMv8 CE):
경과 시간(Wall-clock elapsed time): 0.10s
사용된 CPU 시간(CPU time used): 0.10s
hardirq 컨텍스트에서 소비된 CPU 시간: 0.00s
softirq 컨텍스트에서 소비된 CPU 시간: 0.00s
sha256-qce:
경과 시간(Wall-clock elapsed time): 10.76s
사용된 CPU 시간(CPU time used): 5.14s
hardirq 컨텍스트에서 소비된 CPU 시간: 0.77s
softirq 컨텍스트에서 소비된 CPU 시간: 2.31s
따라서 sha256-qce는 ARMv8 CE보다 100배 이상 느리고 50배 이상의 CPU를 사용하며, 그 중 절반 이상이 hardirq 또는 softirq 컨텍스트에서 소비됩니다.
이는 지난번 테스트했을 때보다 훨씬 더 나빠졌습니다! 그래서 귀하의 BAM locking 패치를 롤백하여 시도해 보았습니다:
경과 시간(Wall-clock elapsed time): 4.85s
사용된 CPU 시간(CPU time used): 2.78s
hardirq 컨텍스트에서 소비된 CPU 시간: 0.55s
softirq 컨텍스트에서 소비된 CPU 시간: 0.94s
이것이 지난번 테스트에서 측정했던 수치와 더 비슷하지만, 여전히 형편없습니다. 여전히 CPU에서 직접 해싱을 수행하는 것보다 훨씬 더 많은 CPU 시간을 사용하며, 그 중 상당 부분이 hardirq 및 softirq 컨텍스트에서 소비됩니다. BAM locking은 상황을 더욱 악화시킬 뿐입니다."
따라서 어제 메일링 리스트(mailing list)를 통해 전달된 이 패치를 통해, Eric Biggers는 QCE 드라이버를 구성하는 3,500줄의 모든 코드를 커널(kernel)에서 단순히 제거할 것을 제안하고 있습니다. 해당 커널 메일링 리스트 스레드에서는 드라이버를 유지하고 관리하기를 원하는 최소 한 명의 커널 개발자와 의견을 주고받는 과정이 있었습니다. 하지만 현재 드라이버의 사용량이 제한적이기 때문에, 이 논의에는 가이드를 얻기 위해 Greg Kroah-Hartman도 참여하였으며, 이 드라이버를 커널에 유지하는 것이 타당한지에 대한 논의가 계속 진행 중입니다. 결과가 어떻게 될지 지켜봐야 할 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기