Что изменилось в Linux 7.4
Разработчики ядра Linux завершили слияние значительного объема изменений в подсистему Compute Express Link (CXL) для релиза версии 7.4. Главная цель этого обновления — подготовка инфраструктуры для поддержки Dynamic Capacity Devices (DCD). Это технология, позволяющая использовать память CXL типа 3 как расширение серверной памяти, которое можно динамически увеличивать или уменьшать в зависимости от нагрузки, без необходимости перезагрузки сервера или физической переконфигурации оборудования.
Технические детали реализации
Хотя полная функциональность DCD еще не включена, текущий пул изменений закрывает критически важные базовые задачи. Разработчики разбили большой набор патчей на более мелкие части, чтобы облегчить процесс рецензирования кода. Вmerged-часть вошли:
- Флаги поддержки DCD в почтовом ящике (mailbox).
- Чтение конфигурации динамической емкости непосредственно с устройства.
- Сбор данных DSMAS для разделов DCD.
- Настройка прерываний динамической емкости.
- Обновление документации и очистка кода, обеспечивающая строгий порядок разделов.
Дополнительные улучшения подсистемы
Помимо подготовки к DCD, в ядро попали важные исправления и оптимизации, влияющие на стабильность и производительность CXL-устройств:
- Decoder Hardening: Добавлены патчи для усиления безопасности и надежности при перечислении декодеров переключателей (switch decoder enumeration).
- Zero-sized HDM decoders: Теперь разрешено использование декодеров с нулевым размером, что расширяет возможности гибкой настройки.
- Расчет задержек: Алгоритмы теперь учитывают ширину канала (link width) и используют согласованные единицы измерения, что повышает точность оценки производительности.
- GPF timeout: Переработана логика программирования таймаутов для General Protection Faults.
Почему это важно для дата-центров
Поддержка DCD открывает путь к эффективному пулингу памяти (memory pooling) в стойках серверов. Это позволяет:
- Снижать затраты за счет устранения избыточно выделенной (over-provisioned) памяти.
- Динамически распределять ресурсы между несколькими хостами.
- Мгновенно масштабировать доступную память под пиковые нагрузки (bursting) без простоя системы.
Полный список изменений доступен в pull request, связанном с этим обновлением. Ожидается, что следующая волна патчей окончательно включит функциональность DCD в основную ветку ядра.
Источник: Phoronix ↗
