Разработчики представили два патча оптимизации для zswap, и задержка чтения страниц в отдельных тестах значительно снизилась.

📅 2026-10-07

Аннотация:

Разработчик Linux Осама Ариф отправил в список рассылки ядра два патча, направленные на уменьшение конфликтов запросов, когда zswap загружает страницы подкачки. Zswap — это механизм сжатия кэша Linux. Он сжимает страницы, подлежащие выгрузке, и временно сохраняет их в памяти. Если страницы можно прочитать из кэша сжатия, доступ к устройству подкачки может быть ограничен, что особенно полезно для снижения нагрузки на дисковый ввод-вывод при нехватке памяти.

image.webp

Проблема в том, что существующий код заставляет сжатые записи и сжатые чтения совместно использовать асинхронные запросы сжатия для каждого процессора и блокировки мьютексов. Если задача записи с низким приоритетом вытесняется во время периода блокировки, задача чтения с высоким приоритетом также может быть вынуждена ждать. Первый патч устанавливает запросы, объекты ожидания и блокировки мьютексов для сжатия и распаковки соответственно, так что чтение больше не блокируется задачами записи; второй патч позволяет синхронному алгоритму программного сжатия использовать запросы в стеке для дальнейшего обхода блокировки zswap. Алгоритмы, требующие асинхронной обработки или дополнительного контекста запроса, по-прежнему используют запросы для каждого процессора и блокировки мьютексов.

Сравнительные тесты, опубликованные автором патча, показывают, что в среде с одним виртуальным процессором медианная самая медленная задержка чтения за раунд снизилась с 22,3 миллисекунды до 0,97 миллисекунды; в среде с 8 виртуальными процессорами оно снизилось с 314 миллисекунд до 7 миллисекунд. Каждый тест проводился в течение 5 раундов, используя компрессор zstd, виртуальную машину и диск памяти в качестве устройств переключения и создавая нагрузку посредством различных приоритетных задач; количество чтений, превышающих 10 миллисекунд, также было снижено с 26 до 35 раз за раунд в одноядерном режиме до нуля, а в многоядерной среде — с 3 до 18 раз за раунд до максимум одного раза. Авторы утверждают, что тесты и тестовые программы пишутся с помощью больших языковых моделей.

Эти цифры отражают улучшение задержки чтения в конкретных стресс-тестах и ​​не означают, что все устройства Linux или ежедневные рабочие нагрузки будут иметь одинаковое общее ускорение.

Патч все еще находится на стадии проверки списка рассылки ядра и еще не включен в основную ветку ядра:

https://lore.kernel.org/lkml/

[email protected]

/

Связанные теги

Похожие статьи

Raspberry Pi официально выпускает новое обновление настольной системы, обновляет ядро ​​долгосрочной поддержки Linux и реконструирует графический стек 2026-09-15 Первая партия настольной консоли Framework Ryzen AI Max+ PRO 495 была быстро распродана, а стоимость версии с памятью 192 ГБ начиналась с 6799 долларов. 2026-10-01 Исследователи подделали подписи RSA, не взломав закрытый ключ, бросив вызов традиционным представлениям о безопасности 2026-09-28 Алгоритм сжатия LZ4 ядра Linux получил самое большое обновление за последнее десятилетие: производительность повысилась на 21%. 2026-09-27 Официально выпущен Mozilla Firefox 156: значительно оптимизирует нагрузку на память и процессор, а также повышает графическую производительность Linux 2026-09-15 Приложение NVIDIA наконец-то добавляет мониторинг температуры процессора и энергопотребления в плавающий слой статистики. 2026-09-10

Комментарии

0/500
Captcha (click to refresh)
Нет комментариев