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)

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

Вот это главная проблема с проприетарными видеодрайверами в этом вашем амд.

Починил.

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

А откуда их тогда в открытом OpenSSL столько? А он в разы проще чем gcc, что-то спрятать сложнее должно быть.

anonymous
()

Принято множество патчей, позволяющих компилировать ядро с помощью clang. Добавлены не все патчи, часть недостающих изменений принята в 3.16, ещё одна часть запланирована на 3.17.

Аргументы BSD-шников в спорах, какой компилятор круче, приняты во внимание?

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

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

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

Докладываю о небольших именениях в технологиях за последние полвека

Вообще-то, ОС нынче принято ставить на SSD, а они всё же в массе своей не 4 ТБ, а где-то раза в 64 поменьше. Ну и всякие компактные устройства, на которые тоже ставят линукс, никто не отменял.

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

Никто, там API раз в два месяца не меняют.

Ой ли?

Помню, у меня был ТВ-тюнер с драйверами под Windows 2000 (она же Windows NT 5.0). На Windows XP (она же Windows NT 5.1) этот драйвер уже не взлетел, пришлось идти за обновлениями.

Это при том, что период между выпусками Win2k и той XP (которая ещё до SP1) был всего где-то год, и особой разницы в архитектуре между ними не было. По крайней мере, не декларровалось.

Более свежий пример - фирменные драйвера CyberView для немецких слайд-сканеров Reflecta. В коробке со сканером лежал диск, проверенный под Windows 7 и вистой. На восьмёрке не взлетел. Опять-таки пришлось искать-качать обновления.

Ну чем это отличается от ситуации с линуксом?

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

выходит что Винда-то постепенно умирает — а Reset ставит нам эти признаки умирания наоборот в пример (мол: «стабильность в стране», и т п, "...на улицу теперь можно выходить безопасно...") ?

Ну вообще, это вполне по Л.Н. Гумилёву, «золотая осень цивилизации». Цивилизация пошла на спад, и её культура именно в этот период даёт наиболее яркие и прекрасные плоды.

Применительно к экосистеме Windows, впрочем, это будет работать только если тамошние спецы не будут идиотами и не сломают совместимость. Именно поэтому Висту не стали полностью переписывать, как планировалось заранее. И именно поэтому профукали WP8, где на совместимость положили болт.

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

Там чаще всего, проблема в том, что эксешник, созданный в лохматом году, тупо привязан к версии винды. Он проверяет версию, она не совпадает и всё, стоп машина

Ну вот те примеры, которые я приводил двумя комментами выше, отвечая Ресету - явно из другой оперы. К примеру, со слайдсканером программа запускается, на версию не ругается - но сканера не видит. Это гораздо больше похоже на слом API, чем на проверу версии. С ТВ тюнером прошло уже 13 лет, всех подробностей не помню, но помню, что драйвер именно вставал, но хулиганил вместо работы.

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

Перепополнение

Печально - у меня так Томми на Java в сберкране погиб в Windows XPень!

Woofywoof
()
Ответ на: комментарий от kto_tama

Да, он никогда не спит,даже находясь в отпуске умудряется работать :) Что сказать - истинный отец своего дитя, в смысле своего ядра!

Rusell
()
Ответ на: комментарий от hobbit

Есть и такое, конечно. Только драйвера тоже разные люди пишут и используют всякие хитрожопые махинации. Потом начинается, блюпуп установил, звук отвалился. Со слайдсканерами тоже история была, притаранили дешовенький аппарат, он очень медленно сканировал и глючил. говорят, что надо спаять пару контактов и он превратится в дорогую модель. Попробовали, точно, определяется как другая модель, просит другие дрова, но сканирует быстро и без лагов. Вот кто такие железки делает? Такие и дрова, хитрожопые...

Deleted
()

Ого, от пост-фактума таки реальная польза: написал хороший анонс новой версии ядра.

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

Не сомневайся, я вообще полезный при правильном использовании.

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

работают, правда у меня на компизе они почему-то адски глючат

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

И не будет тормозить. Копировать будет очень медленно, программы будут запускаться очень медленно, но то что запустилось работать будет. И курсор точно не станет дёргаться.

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

Есть случаи когда будет тормозить. Хоть наверное оно и получше работает чем в линуксе, но я всё-таки замечаю при очень тяжёлых операциях подвисания (в 8.1), что даже указатель может подвиснуть на небольшое время (музыка у меня продолжает играть как играла, видимо из буфера). Так что идеальных систем в данном случае всё ещё не существует, нагнуть можно любую систему. Впрочем при обычных обстоятельствах с копированием файлов с разных устройств такой фигни не наблюдается, как и вообще в остальных случаях.
Вот пример тяжёлой ситуации (совокупность):
1. индексация много гигабайт в BTSync;
2. по сетке принимается и передаётся много трафика;
3. на фоне есть достаточно много кушающих проц процессов;
4. Download Master из-за своей тупости и древности (иногда он таки пригождается для убогих соединений как в случае с соседней темой) резервирует файл забивая целиком его нулями (вот тут самый большой вклад в подвисание).
Вне совокупности 1 и 4 пункты сами по себе дают просто притормаживания, подвисаний нет. Короче чем сильнее её нагрузить тяжёлыми дисковыми операциями, тем больше тупить-тормозить она начинает. Попробуйте сами.

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

Зачем Вы используете Убунту на серверах? Чем не устраивает Windows server?

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

Единственный раз Линукс колом у меня вставал, когда я ставил Debian testing (этой зимой) на древнее железо с 512 мб ram с отключенным свопом. Такой фашизм он долго не терпел и паниковал. Стабильный деб и включенный своп - всё ок.

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

Вспомнил сразу сентябрь 2008, когда в инете сидел через спутники. Ну и вот, pci-карточка шла в комплекте с дровами которые были способны работать только в xp sp2. Для sp3 уже нужно было стягивать 83 мб дров с офсайта специально вот под 3-й сервис пак. Винда, в принципе, ни при чём, разрабопроблемы, да-да... Но геморроя отхватил.

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

Русскую информашку запрещено. Не осилил английский? Вон из профессии!

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

я ставил Debian testing (этой зимой) на древнее железо с 512 мб ram

ды этож какое-то издевательство! :-) ..

но хотя трудно сказать кто над кем издевается в данной ситуции (пользователь над компьютером?.. или.. компьютер над пользователем? :):))

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

Там взаимно было. Бабло на апгрейд было, но приоритеты не позволяли. Знал бы как будет, сидел бы на 32 битном Кноппиксе тогда. Очень шустро он на той железке летал, Деб 64 бит рядом с ним страшный тормоз.

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

если да, то как же тогда обеспечить мягкий [безболезненный, безпанический] перевод пользователей на это ядро?)
((вон пользователям всего лишь поменяли меню «Пуск» — а они развопились-разнылись так словно им всю Винду поменяли:) ))

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

anonymous
()

Очень годный релиз, раньше секунд по 20 ноут тупил после выхода из спящего, а теперь не дольше секунды.

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

Исходники полгига весят, в основном за счёт дров (281 Мб). Года три назад ядро весило что-то около 128 Мб.

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

В свежей альфе libastral, как выяснилось, опять сломали подсистему работы с будущим (в багтрекере разрабы что-то мямлят про принцип неуверенности или вроде того), так-что аддон firefox для просмотра будущего интернета у меня опять не работает.
Ну а хрустальный шар знакомый одолжил и не отдаёт.
Так-что с вопросами про будущее это не ко мне.

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

Так я уже. А разрабы всё сваливают на какого-то Гейзенберга. Всегда проще назначить крайнего, чем взять в руки дебагер или начать писать юнит-тесты.

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

stable API nonsense

Хоть бы голову включал, когда методичку цитируешь.
В ядре Linux несколько десятков (если не сотен - где бы узнать точное число?) модулей. Даже малейшее изменение API потребует огромных временных затрат на исправление кода и его проверку. Т.е. только из-за этих изменений работы будет как на целый релиз. Поэтому API если и меняют, то по большой нужде.

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

Говорят, когда рефакторили USB, заюзали Coccinelle, и поимели намного меньше проблем. Так что API поменять не проблема даже по времени, было бы обоснованное желание.

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