В ядре Linux нашли операцию, которая тратила ресурсы памяти без дела. Китайский разработчик передвинул две строчки кода на несколько позиций ниже. Простой перенос решил проблему. Феннань Чанг трудится в компании Bytedance. Он изучал механизм iomap, который используется в файловых системах EXT4 и XFS. Этот механизм отвечает за связь данных в памяти с их физическим размещением на диске.
При высоких нагрузках функция обнуляла память после завершения цикла. Это создавало лишнюю работу и замедляло операции. Чанг перенёс вызов функции ниже по коду. Так он убрал неэффективный расход пропускной способности. Особенно заметной проблема становилась при случайном чтении с NVMe-накопителей через интерфейс io_uring. В синтетических тестах прирост достиг 5%.
Насколько это повлияет на реальную работу, пока неясно. Мэйнтейнер подсистемы VFS Кристиан Браунер принял патч. Линус Торвальдс должен включить его в финальную версию. Релиз ядра 7.2 запланирован на середину августа.