Неделю назад, 13 марта, Линус Торвальдс анонсировал очередной выпуск ядра Linux — 4.5.
Одним из интересных новшеств релиза Linux 4.5 стало появление системного вызова copy_file_range(2), позволяющего копировать фрагменты данных из одного файл в другой, минуя при этом их копирование из ядра в пользовательское пространство (user space) и обратно. Его производительность, как правило, несущественно выше cp, поскольку операции с оперативной памятью не так затратны, как реальный ввод/вывод, однако в некоторых случаях разница может оказаться значительной (например, для сетевых файловых систем вроде NFS). Среди прочих заметных изменений в ядре Linux 4.5:
экспериментальная поддержка управления питанием ADM PowerPlay (для современных Radeon GPU);
новый драйвер Intel VMD (Volume Management Device);
улучшения в масштабировании при обработке свободного дискового пространства в файловой системе Btrfs, а Ext4 получила поддержку квот для проектов (project quota);
новая унифицированная иерархия в файловой системе cgroup (cgroup v2) объявлена стабильной — монтируется с указанием cgroup2 в качестве ФС;
поддержка Undefined Behavior Sanitizer (-fsanitize=undefined) в GCC;
значительно переработан код поддержки архитектур ARMv6 и ARMv7 (эту работу проводили на протяжении последних 5 лет).