После двух с небольшим месяцев разработки вышла новая версия ядра Linux 3.7.
В этом выпуске произведены такие изменения:
- в файловых системах:
- увеличена производительность btrfs в части кода, отвечающего за fsync;
- для той же btrfs представлена поддержка технологии «hole punching», которая позволяет освобождать незанятое пространство внутри файла, что особенно ценно при работе с образами жёстких дисков виртуальных машин;
- для ext4 добавлена поддержка изменения размера раздела больше 16 ТБ, причём эта операция теперь выполняется несколько быстрее, нежели ранее;
- в JFS добавлена поддержка TRIM/discard;
- в CIFS добавлена поддержка SMB 2.0;
- NFSv4.1 больше не считается экспериментальной;
- в подсистеме хранения данных:
- код программной реализации RAID теперь поддерживает операцию «discard»;
- добавлена возможность изменять тип кеширования для устройств ATA через sysfs;
- в подсистему libata добавлена поддержка т.н. «агрессивной спячки» для устройств SATA (согласно спецификации AHCI 1.3.1);
- добавлена поддержка команды «WRITE SAME», что позволяет передавать пакеты данных один раз, а потом записывать их во все указанные блоки I/O, т.е., например, быстрее инициализировать массивы RAID;
- Virtio-Scsi теперь поддерживает изменение размера устройств хранения данных;
- в сетевой подсистеме:
- добавлена поддержка NAT для IPv6;
- реализована поддержка TCP Fast Open на серверной стороне (клиентский код был добавлен в версии ядра 3.6);
- протокол GRE теперь может туннелировать другие протоколы поверх IPv6;
- добавлена поддержка протокола туннелирования VXLAN;
- в инфраструктуре:
- добавлена поддержка архитектуры ARMv8 AArch64;
- расширен спектр 32-битных платформ ARM, для которых возможно создание единого образа ядра;
- для процессоров ARM Cortex-A15 добавлена поддержка аппаратной виртуализации с помощью Xen;
- добавлена поддержка подписывания загружаемых модулей и проверки их подписи;
- добавлено расширение для оценки целостности в рамках IMA, которое используется для определения нежелательного изменения бинарных файлов;
- ядро теперь может загружать файлы прошивок без помощи udev;
- значительно улучшена поддержка пространств имён (namespaces);
- добавлена поддержка расширенных атрибутов в файловой системе cgroup;
- расширение безопасности YAMA теперь может использоваться вместе с остальными аналогичными подсистемами;
- добавлена поддержка SMAP, функции предотвращения доступа в режим супервизора, которая будет представлена в процессорах Intel Haswell;
- значительно переработана подсистема RCU;
- началось разделение заголовочных файлов на используемые ядром и используемые программами пространства пользователя;
- рабочие очереди (workqueues) теперь нереэнтерабельны (non-reentrant) по умолчанию, что означает, что один и тот же код больше не исполняется на всех процессорах одновременно;
- в ядре появилась базовая реализация хеш-таблиц, призванная заменить аналогичные разрозненные реализации в различных подсистемах ядра;
- улучшена подсистема perf;
- переписана реализация кластерной ОЗУ Ramster;
- подсистема ввода теперь может работать более чем с 32 устройствами;
- оптимизированы по скорости криптографические алгоритмы;
- в драйверах:
- значительно улучшен Nouveau; например, проведена реструктуризация кода с целью дальнейшего внедрения поддержки SLI, а для чипов NV40 и NV50 добавлена базовая поддержка управления вращением кулера;
- в коде i915 значительно улучшена поддержка выходов на дисплеи;
- через sysfs теперь можно задавать верхнее ограничение частоты графического процессора, что будет полезным для ещё не вышедших чипов Haswell и ValleyView;
- изменения в драйвере Radeon теперь позволяют новым чипам управлять несколькими мониторами через одну петлю ФАПЧ, а также уменьшают энергопотребление;
- добавлена поддержка регулировки яркости на многих ноутбуках с чипами AMD;
- для популярных звуковых чипов HD добавлена поддержка механизма энергосбережения во время работы;
- улучшена поддержка многоканального звука;
- добавлен новый API для устройств DVB, подключаемых через USB, а также расширен спектр поддерживаемых устройств DVB;
- версия ALSA больше не экспортируется через /proc;
- добавлена поддержка SoC BCM2835, используемого в Raspberry Pi;
- добавлена поддержка звукового чипа C-Media CMI8328;
- добавлена поддержка tethering для iPhone 5;
- в ath9k добавлена поддержка чипов AR9565;
- в brcmfmac добавлена поддержка беспроводных чипов USB 43242 и 43143, а также мастер-режима для работы в качестве точки доступа;
- в qla4xxx добавлена поддержка Qlogic 8032 (ISP83XX).
Конечно же, в новое ядро привнесены и другие новшества, которые, к сожалению, в рамках формата новости сложно описать. Рекомендуется обратиться к таким первоисточникам: ноль, раз, два, три, четыре, пять, шесть, а также к журналу коммитов ядра и статьям на Kernel Newbies: раз, два.
Скачать полный тарболл с исходниками
Скачать патч на ядро 3.6
>>> Подробности