Linux 7.4: оптимизация копирования памяти для RISC-V стала переносимой
Изменения для архитектуры RISC-V вошли в ядро Linux 7.4. Самое заметное из них касается производительности копирования данных между пространством пользователя и ядром.
Что было в Linux 7.3
В Linux 7.3 компания Tenstorrent добавила оптимизацию для оборудования RISC-V, которое умеет быстро копировать данные по невыровненным адресам. На таких процессорах ядро может не выполнять программное выравнивание. По тестам Tenstorrent, пропускная способность выросла до 11%.
У решения было ограничение: поддержку требовалось включать на этапе сборки ядра. Поэтому сборки, рассчитанные на разное оборудование, использовать её не могли. Часть RISC-V-систем быстрый невыровненный доступ не поддерживает, и универсальное ядро не может заранее рассчитывать на эту возможность.
Что меняется в Linux 7.4
Теперь решение о пропуске программного выравнивания для оборудования с «HAVE_EFFICIENT_UNALIGNED_ACCESS» принимается во время работы. Ядро само определяет, поддерживает ли процессор быстрый невыровненный доступ, и при положительном ответе не выравнивает данные при копировании из пространства пользователя.
Благодаря этому оптимизацию смогут получить дистрибутивные ядра для RISC-V и другие универсальные сборки, которые прежде её не включали.
Другие изменения
Ускоренное копирование пользовательских данных — лишь одно из нововведений RISC-V в Linux 7.4. Кроме того, появились:
- поддержка crash hot-plug;
- оптимизированные пути выполнения для ряда функций работы с таблицами страниц;
- оптимизация при переключении контекста;
- сведения о расширении ISA «B» в механизмах hwcap и hwprobe;
- поддержка сообщения о расширении ISA Zic64b.
Источник: Phoronix
Комментарии
Войдите, чтобы комментировать.