После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 3.15. Отмечается, что выпуск 3.15 является одним из самых больших по размеру изменений за всю историю проекта. При этом, изменения не связаны с реализацией каких-то отдельных значительных новшеств, а обусловлены принятием большого числа мелких доработок и внутренних переделок. Среди наиболее заметных улучшений: ускорен возврат из ждущего режима, значительно улучшена подсистема управления памятью, добавлен смешанный режим EFI, поддержка меток в ipset, новый JIT-компилятор BPF, кэш отложенной записи в FUSE, Device Mapper модуль "dm-era".
В новую версию принято более 12 тысяч исправлений от 1400 разработчиков, размер патча - 57 Мб (изменения затронули 11428 файлов, добавлено 932468 строк кода, удалено 571846 строк). Около 44% всех представленных в 3.15 изменений связаны с драйверами устройств, примерно 18% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 4% - файловыми системами и 4% c внутренними подсистемами ядра.
Из наиболее интересных новшеств можно отметить:
Память и системные сервисы
- Включены наработки компании Intel по ускорению процесса возврата из ждущего режима на системах с дисковыми контроллерами SATA. Благодаря организации асинхронного одновременного вывода из ждущего режима дисков и прочих устройств, время пробуждения ноутбуков удалось сократить в 7-12 раз. Например, время вывода из ждущего режима компьютера на базе Intel Core i7 3960X уменьшилось с 11.6 до 1.1 секунд (в 10.5 раз), ноутбука на базе Intel Core i7 3770 с 5.4 до 0.45 секунд (в 12 раз), а ноутбука на базе Intel Core i7 4770S с 5.4 до 0.69 секунд (в 7.8 раз). Ранее узким местом возврата из ждущего режима было ожидание готовности SATA-контроллеров после поступления питания. Теперь, драйвер дискового контроллера мгновенно возвращает управление, не дожидаясь запуска контроллера (поступающие до готовности контроллера обращения к диску приостанавливаются), что позволяет ядру во время пробуждения SATA-контроллера выполнить другие операции возврата из ждущего режима, не связанные с дисковым вводом/выводом, например, инициализировать графическую подсистему;
- Добавлены новые патчи для улучшения сборки с использованием компилятора Clang, подготовленные в рамках проекта LLVMLinux. Пока ядро из коробки не может быть собрано при помощи Clang без дополнительных патчей, но цель уже очень близка. Недостающие патчи планируется интегрировать в ядро 3.16;
Читать далее |