Линус Торвальдс представил ядро Linux 4.7. Прошло две недели со времени выхода rc7, и финальный патч не так и велик. Его размер — 34 МБ (изменены 9744 файлов, добавлено 493490 строк кода, а удалено 194974 строк). 50% изменений связана с драйверами устройств, 19% — обновление кода поддержки аппаратных архитектур, 15% — с сетевым стеком, 5% изменений коснулись файловых систем и еще 4% — внутренних подсистем ядра.
Ядро 4.7 поддерживает open-source AMD Polaris (RX 480), новые ARM платформы и платы, контроллер Xbox One Elite Controller, включает несколько улучшений по графике Intel Kabylake. В ядре — 12 тысяч исправлений от 1500+ разработчиков. Есть и вариант свободного ядра 4.7 — Linux-libre 4.7-gnu.
Более полная информация по обновлению доступна здесь и здесь.
Ядро 4.7 поддерживает open-source AMD Polaris (RX 480), новые ARM платформы и платы, контроллер Xbox One Elite Controller, включает несколько улучшений по графике Intel Kabylake. В ядре — 12 тысяч исправлений от 1500+ разработчиков. Есть и вариант свободного ядра 4.7 — Linux-libre 4.7-gnu.
Железо
- Добавлена поддержка 500+ новых элементов аппаратного обеспечения. Кроме Microsoft Xbox One Elite Controller добавлены драйвера для беспроводных модулей Intel 9260, Chelsio iSCSI Target Offload Controller. Есть новые кодеки Realteks ALC234, ALC274, ALC294, ALC700, ALC701 и ALC703;
Наиболее заметным является добавление поддержки GPU Radeon RX480 с архитектурой нового типа Polaris;
Сейчас ядро поддерживает уже 26300 различных драйверов.
Сеть
- Сокращена задержка в работе большого числа пакетов благодаря оптимизации TCP-стека;
Добавлена возможность создания виртуальный контроллеров USB-девайсов в стек USB/IP. Этот стек обеспечивает доступ к удаленным USB-девайсам по TCP/IP. В системе можно создавать виртуальные устройства;
Стойкость TCP стека к syn-флуду увеличена. Производительность в условиях флуда увеличена почти вдвое — с 3,2 до 6 млн пакетов в секунду.
Файловые системы и работа с накопителями
- В системе кэширования информации появилась возможность одновременного проведения нескольких проверок в одной директории;
В NFS теперь поддерживается операция COPY;
sync_file, изначально созданный для Android, теперь перемещен в основное ядро;
В EXT4 теперь появилась возможность прерывания операции readdir() для пустых директорий, где ранее находилось много файлов.
Система
- Появился новый механизм регулирования частоты процессора в cpufreq. Новый механизм schedutil использует информацию от планировщика задач и может работать непосредственно с драйверами cpufreq для изменения частоты процессора, оптимизируя ее в соответствии с текущей нагрузкой;
Добавлена команда hist в ftrace. Эта команда предоставляет средства для создания гистограмм событий. Информация о наступающих событиях собирается в форме ключ-значение;
Появилась новая библиотека хэширования (linux/stringhash.h), она лишена проблем, характерных для ранее доступного кода хэширования строк.
Безопасность и виртуализация
- Появился новый модуль LoadPin, проверяющий факт загрузки ядром файлов из одной файловой системы. Этот модуль ранее был создан для Chrome OS;
- В SeLinux появилась возможность ограничения загрузки модулей ядра.
Более полная информация по обновлению доступна здесь и здесь.