Вышел 21-строчный патч для ядра Linux, ускоряющий прохождение теста per_thread_ops на 2.6%
В конце октября 2024 года разработчик Джош Пуамбёф (Josh Poimboeuf) из компании Red Hat опубликовал патч для ядра Linux, ускоряющий прохождение теста per_thread_ops на 2.6%, оценивающего число операций, которые могут быть выполнены в одном потоке.В патче используется маскирование указателей для снижения числа медленных вызовов barrier_nospec() в 64-битной функции copy_from_user(), применяемой для копирования данных в ядро из пространства пользователя.Линус Торвальдс перенёс данную оптимизацию в состав Linux 6.12-rc6.«Barrior_nospec() в 64-битной функции copy_from_user() работает медленно.
Вместо этого используйте pointer masking, чтобы заставить user pointer установить все единицы для недопустимого адреса. Kernel test robot сообщает об улучшении на 2,6% в тесте per_thread_ops», — уточнил Торвальдс.Ранее вышел патч для новой версии ядра Linux 6.13 со значительной оптимизацией реализации алгоритма нахождения контрольной суммы CRC32C.
habr.com