리눅스 7.4, DCD를 위해 CXL 준비
HARDWARE
CXL 환경에서 동적 용량 장치(Dynamic Capacity Devices, DCD)는 서버 메모리 용량을 하드웨어를 재부팅하거나 물리적으로 재구성할 필요 없이 동적으로 확장하거나 축소할 수 있게 해주는 Type-3 CXL 메모리 확장 하드웨어입니다. CXL DCD를 사용하면 다중 호스트 메모리 공유(multi-host memory sharing)를 통해 랙 전체에 걸쳐 리소스를 풀링하고, 워크로드에 따라 필요한 경우 동적으로 메모리 용량을 버스트(bursting)하여 유휴/과잉 프로비저닝된 메모리를 줄이는 것이 가능합니다.
동적 용량 장치 지원에 대한 자세한 내용은 ComputeExpressLink.org 블로그에서 확인할 수 있습니다.
Linux 7.4의 경우 리눅스 커널 내 CXL 인프라를 위한 준비 변경 사항이 있지만, 이 병합(merge) 창에서는 아직 모든 상위 스트림 코드와 함께 완료되지 않았으며 검토가 진행 중입니다:
"주요 항목은 동적 용량 장치(DCD)에 대한 첫 번째 부분 지원입니다. 이는 메일박스에서 DCD 지원을 플래그 지정하고, 장치로부터 동적 용량 구성을 읽어오며, DCD 파티션용 DSMAS 데이터를 수집하고, 동적 용량 인터럽트를 구성하는 것을 포함합니다. 또한 문서 업데이트와 파티션 순서를 강제하는 정리 작업도 추가됩니다. 이 코드 변경 사항으로는 DCD가 아직 활성화되지 않습니다. 패치는 전체 세트의 부담을 덜기 위해 축소되어 적용되었습니다.
이제 크기가 0인 HDM 디코더도 허용되며, 이를 위한 cxl_test 지원도 제공됩니다. 또한 스위치 디코더 열거(switch decoder enumeration)를 위한 일련의 디코더 강화 패치가 있습니다. 지연 시간 계산은 이제 링크 폭을 고려하고 일관된 단위를 사용합니다. GPF 타임아웃 프로그래밍이 재작업되었습니다. 이 풀에는 여러 가지 기타 패치도 포함되어 있습니다."
Linux 7.4용으로 병합된 CXL 변경 사항에 대한 자세한 내용은 이 풀 리퀘스트를 통해 확인할 수 있습니다.