LINUX.ORG.RU

Вышло ядро Linux 3.15

 ,


1

2

После почти двух с половиной месяцев разработки и восьми кандидатов в релизы вышла новая версия ядра Linux 3.15. С организационной точки зрения этот выпуск примечателен тем, что он состоялся в разгар двухнедельного окна приёма изменений для следующей версии, 3.16. Линус Торвальдс сообщил о проведении такого эксперимента в момент выпуска 3.15-rc8.

Технически же в новой версии произведена масса интересных изменений. Основные новинки ядра по категориям представлены ниже.

  • Файловые системы и подсистема хранения данных.
    • В XFS новый дисковый формат версии 5 признан стабильным. Также в этой ФС произведено обновление кода, отвечающего за fallocate и добавлена поддержка O_TMPFILE.
    • В ext4 произведена работа по улучшению масштабируемости. Также в код fallocate добавлена поддержка операций ZERO_RANGE и COLLAPSE_RANGE.
    • Увеличена производительность операций записи в FUSE.
    • Обновлен код kernfs с тем, чтобы его можно было использовать в большем количестве подсистем.
    • В код btrfs внесено множество изменений, направленных на исправление возможных повреждений данных. Также в btrfs отказались от собственной реализации асинхронных потоков в пользу стандартного механизма workqueues.
    • F2FS получила поддержку больших каталогов.
    • Представлен новый системный вызов renameat2, позволяющий атомарно поменять имена двух файлов.
    • Принят код, реализующий функцию приватной POSIX-блокировки файлов (file-private POSIX locks).
  • Инфраструктурный код.
    • Размер стека ядра на платформе x86_64 увеличен до 16 КиБ. Это связано с тем, что в ядре выявлены возможные сценарии, при выполнении которых 8 КиБ стека уже не хватает.
    • Добавлена частичная поддержка LTO (Link-Time Optimization). В будущем возможна полная поддержка LTO, что позволит несколько уменьшить итоговый размер образа ядра и повысить его быстродействие.
    • Принято множество патчей, позволяющих компилировать ядро с помощью clang. Добавлены не все патчи, часть недостающих изменений принята в 3.16, ещё одна часть запланирована на 3.17.
    • Добавлена поддержка смешанного режима EFI, благодаря которому появилась возможность загрузки 64-битного ядра с помощью 32-битного UEFI, что актуально для некоторых ноутбуков.
    • Добавлена поддержка инструкций AVX-512 и RDSEED, реализованных в процессорах Intel.
    • В код управления питанием добавлена поддержка асинхронного вывода из режима сна подсистемы SCSI, что позволило значительно сократить общее время просыпания.
    • В планировщике процессов продолжена работа по интеграции собственно планировщика и механизма выбора политики простоя (idle state) процессора. В 3.16 работа по улучшению интеграции ещё ведётся.
    • В коде cgroups произведена оптимизация переключения контекстов.
    • Внесены улучшения в код планирования процессов реального времени.
    • Переработан механизм балансировки списков активных и неактивных страниц в подсистеме управления памятью, что привело к заметному увеличению производительности при некоторых типах нагрузок.
    • Значительно переработан JIT-компилятор для фильтра пакетов BPF.
    • zram теперь может использовать алгоритм сжатия LZ4.
    • Удалена поддержка устаревших платформ x86: SGI Visual Workstation, Sequent Computer Systems NUMAQ, IBM Summit/EXA и IA32 Unisys ES7000.
    • Код PowerPC KVM теперь поддерживает транзакционную память для гостевых систем. В коде KVM для x86 исправлена поддержка OS X в качестве гостевой системы. Также в KVM улучшена поддержка Windows в качестве гостевой ОС.
  • Драйверы.
    • Для подсистемы драйверов реализована поддержка QoS управления питанием.
    • Подсистема AHCI (libata) переработана таким образом, что множество драйверов теперь могут повторно использовать один и тот же код без его дублирования. Также в libata добавлена поддержка асинхронных операций по управлению питанием.
    • В подсистему V4L добавлена поддержка множества новых устройств.
    • В драйвере Intel DRM произведено множество улучшений, связанных с управлением питанием, поддержкой дисплеев HiDPI и 4K DisplayPort. Также расширена поддержка чипов Broadwell.
    • В коде nouveau представлена начальная поддержка чипов Maxwell.
    • Драйвер Radeon теперь поддерживает кодирование видео VCE 2.0.
    • В код поддержки Samsung Exynos внесены изменения, направленные на поддержку многоплатформенных ядер. Работа над этим ещё не завершена.
    • Добавлена поддержка мультитач-устройств, разработанных специально для Windows 8.1.
    • Добавлена поддержка контроллера Dualshock 4, который используется в игровой консоли PlayStation 4.
    • Для ноутбука Lenovo ThinkPad Carbon представлена более полная поддержка клавиатуры.
    • В драйвер ACPI для ноутбуков Toshiba добавлена поддержка акселерометра и включения-выключения тачпада.
    • Произведены значительные улучшения в звуковой подсистеме, которые затрагивают HD Audio и чистку кода ASoC. Также добавлены драйверы для чипов Analog Devices ADAU1977, TI PCM512x, частично для CSR SiRF SoC, TLV320AIC31XXX, Armada 370 DB и Cirrus cs42xx8.
    • Добавлена поддержка чипа Realtek RTL8723AU (Wi-Fi).

Отдельно стоит упомянуть о том, что для включения в ядро предложены две интересные вещи.

  • ФС Tux3, разрабатываемая с 2008-го года. Несмотря на перспективность, код в ядро не включен из-за низкого его качества и нереализованности множества заявленных функций.
  • Планировщик ввода-вывода BFQ. Код уже получил хорошие отзывы в LKML, однако разработчиков просят доработать его с учётом некоторых замечаний. Также мейнтейнер блочной подсистемы чётко дал понять, что не собирается принимать в ядро ещё-один-CFQ, но в то же время готов заменить алгоритм CFQ на более разумную реализацию BFQ постепенно. Дискуссия и анализ кода BFQ в LKML продолжается. Прогнозов по срокам пока нет.

Конечно же, в новом ядре есть и множество других изменений, которые, к сожалению, не поддаются перечислению в рамках данной новости. Чтобы получить более детальную информацию о новшествах ядра, рекомендуется обратиться к указанным ниже источникам.

Скачать тарболл с исходным кодом

Скачать патч на ядро 3.14

>>> Официальный анонс

★★★★★

Проверено: fallout4all ()
Последнее исправление: post-factum (всего исправлений: 1)

Добавлена поддержка чипа Realtek RTL8723AU (Wi-Fi).

Ура! Задолбался уже пересобирать дрова на него, даже с учетом dkms :-). Владельцы Lenovo Yoga одобряэ!

ei-grad ★★★★★
()
Ответ на: комментарий от DeadEye

Никогда не пробовали собирать в ядро только то, что нужно? make menuconfig для этого и придумали.

Может быть товарищ имел ввиду сорцы?

ass ★★★★
()

И это хорошо. Славно, что post-factum опять в деле. (:

Lilly
()

приеду с отдыха из деревни - обновим (:

Weidinger
()
Ответ на: комментарий от sT331h0rs3

убирайся с моего лора, грязный иллинойский извращенец!

anonymous
()
Ответ на: big.LITTLE от Camel

Нет, это про то, что один бинарник ядра может грузиться на разных ARMах.

post-factum ★★★★★
() автор топика
Ответ на: комментарий от sT331h0rs3

Можно со сторонними патчами. Но я не пробовал.

post-factum ★★★★★
() автор топика
Ответ на: комментарий от kukuruku

У меня ноут, 8250. Без блоба подсветка не регулируется и из саспенда не выходит.

prv_cowboy
()

* Добавлена частичная поддержка LTO (Link-Time Optimization). В будущем возможна полная поддержка LTO, что позволит несколько уменьшить итоговый размер образа ядра и повысить его быстродействие.

* Подсистема AHCI (libata) переработана таким образом, что множество драйверов теперь могут повторно использовать один и тот же код без его дублирования. Также в libata добавлена поддержка асинхронных операций по управлению питанием.

* Произведены значительные улучшения в звуковой подсистеме, которые затрагивают HD Audio и чистку кода ASoC.

* Переработан механизм балансировки списков активных и неактивных страниц в подсистеме управления памятью, что привело к заметному увеличению производительности при некоторых типах нагрузок.

* В код управления питанием добавлена поддержка асинхронного вывода из режима сна подсистемы SCSI, что позволило значительно сократить общее время просыпания.

Самые вкусные новшевства для меня

Deleted
()

На арче отвалился wi-fi(BCM43142) и не желает работать bbswitch.
Будем ждать.

Planet
()

Размер стека ядра на платформе x86_64 увеличен до 16 КиБ. Это связано с тем, что в ядре выявлены возможные сценарии, при выполнении которых 8 КиБ стека уже не хватает.

быдлокодеры отакуе! :) А раньше сколько было и сколько сейчас на других архитектурах? Я из LDD3 помню, что стек ядра 4Кб всегда, оказывается, устаревшие сведения

Harald ★★★★★
()
Ответ на: комментарий от ei-grad

Не знаю как у вас, но на моей йоге с новым ядром всё равно пропускная способность вайфая очень низкая. То 10кб/c, то внезапно 1мб/c. А на венде же всё стабильно, как они этого добиваются, черти.

blan4
()
Ответ на: комментарий от Behem0th

Сразу предупреждаю что я не программист.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/...

/**
 * radeon_vce_init - allocate memory, load vce firmware
 *
 * @rdev: radeon_device pointer
 *
 * First step to get VCE online, allocate memory and load the firmware
 */
int radeon_vce_init(struct radeon_device *rdev)
{
	static const char *fw_version = "[ATI LIB=VCEFW,";
	static const char *fb_version = "[ATI LIB=VCEFWSTATS,";
	unsigned long size;
	const char *fw_name, *c;
	uint8_t start, mid, end;
	int i, r;

	INIT_DELAYED_WORK(&rdev->vce.idle_work, radeon_vce_idle_work_handler);

	switch (rdev->family) {
	case CHIP_BONAIRE:
	case CHIP_KAVERI:
	case CHIP_KABINI:
	case CHIP_MULLINS:
		fw_name = FIRMWARE_BONAIRE;
		break;

Behem0th ★★★★★
()
Последнее исправление: Behem0th (всего исправлений: 1)

В код btrfs внесено множество изменений

Это уже, скорее, агонию напоминает...

anonymous
()

ну и какой дистр мне надо поставить, чтоб прям счас это ядрышко было в main'е?

eR ★★★★★
()

Ядро 3.19 будет последним в 3 ветке. Дальше уже будет ядро 4.хх

w1nner ★★★★★
()
Ответ на: комментарий от Rognar

Неосиляторы английского должны страдать.

anonymous
()

«Код PowerPC KVM теперь поддерживает транзакционную память для гостевых систем. В коде KVM для x86 исправлена поддержка OS X в качестве гостевой системы. Также в KVM улучшена поддержка Windows в качестве гостевой ОС.»

што это (про powerpc)? на сайте KVM нет описания, какие powerpc процы поддерживаются. Хоть какие-то подробности.

gek7
()
Ответ на: комментарий от leg0las

Думаю, pf-sources уже есть. ;)

/me пошёл проверить.

naryl ★★★★★
()
Ответ на: комментарий от BMX

я сказал в main'е,а не в testing'ах, оно там месяц тухнуть будит.

eR ★★★★★
()

О, собственник интеллектуальной собственности опять всплыл...

Некоторые субстанции таки не имеют свойства тонуть.

Опять начнет пиариться за счет чужой труда, опять полезет в модераторы.

Даже уйти по-настоящему не смог.

Фу!

anonymous
()
Ответ на: комментарий от Khnazile

там vce 2 и пользуюсь еще с ранних патчей на 3.14 ядро, 7790 относится к тому же семейству что и 260x и и 290х, но интел ваапи более допилен в этом плане.

Novell-ch ★★★★★
()

В код поддержки Samsung Exynos внесены изменения, направленные на поддержку многоплатформенных ядер

это как?!

reprimand ★★★★★
()
Ответ на: комментарий от redgremlin

Скоро для хранения ядра мне потребутеся 4ТБ? Понятно.

fero ★★★★
()

А по какому принципу формируется приём и добавление патчей в ядро?

Вот например гражданин хороший написал патч с поддержкой моего TV-тюнера ещё для ядра 3.11: https://lists.debian.org/debian-kernel/2013/09/msg00182.html

Отправил его по туевой куче нужных адресов:

To: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-dvb@linuxtv.org Cc: debian-kernel@lists.debian.org Subject: [PATCH] [media] cx231xx: tuner support for Iconbit Analog stick U100 FM, kernel 3.11 From: Ling Sequera <lingstein@gmail.com> Date: Sun, 15 Sep 2013 18:09:47 -0430

Патч продинамили в 3.13, 3.14, 3.15...

У них там чего, из-за «бумажной» бюрократии письма затерялись? o_O Цензурных слов на этих удодов нехватает блин «>_<» :-/ :/

anonymous
()
Ответ на: комментарий от Reset

12309 починили?

а существуте ли какой-нибудь LiveDVD на котором бы я мог бы протестировать отсутствие 12309 в Windows?

проверять буду так: засуну в комп несколько низкоскоростных USB-флэшок и буду в них всех записывать файлы (параллельно). Винда должна НЕ тормозить при этом.

(и всё это я буду делать на несамом лучшем железе — а конкретно на говноматеринской плате).

# P.S.: устройство чтения DVD — тоже подключено через USB :)

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Скорее надо спрашивать когда наконец в линуксе можно будет ставить драйвера отдельно от ядра. Ну смешно же когда из-за какой-нибудь сраной мышки надо обновлять ядро целиком!

Reset ★★★★★
()
Ответ на: комментарий от user_id_68054

Возможно, винда и начнет тормозить на таком, а линукс колом встает в достаточно тепличных условиях.

Reset ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.