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)

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

Это не у меня спрашивайте, я только разгребаю эти проблемы, и то не себе. Логика тут, очевидно, такая : производитель отвечает за работу на такой-то версии винды. Что может поменяться в винде в будущем - он не знает. В такой ситуации гораздо легче «написать» новый драйвер по просьбе клиентов (если он ещё нужен будет), чем разгребать, почему железка сломалась или данные петерялись или ещё что. Лицо надо держать. И срок поддержки железа всё сокращается. Потому что люди не заморачиваются, они покупают новое.

И конечно, потихоньку и в винде изменения идут, но это не сравнимо с линуксом. Как Вы думаете, почему пользователи начинают шипеть и извиваться от того, что нет дров для AMD или nVidia? что мешает поставить какойнить fglrx-legacy на новое ядро? А всё поменялось. Что мешает на линуксе поставить дрова для нового МФУ? А производитель сделал дрова для CUPS такой-то версии, а уже через месяц вышла новая бубунта (или что там) с новым CUPS, в котором поменялись имена устройств. Что мешает откатить на старый CUPS? А в ядре тоже постарались и теперь он не будет работать из-за того что там запятую передвинули и вместо тире - нижнее подчёркивание. (как мне пришлось краснеть перед заказчиком...)

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

Ядро таки меняется. Например, не так давно была паника «всё пропало, коварный Майкрософт начал борьбу с нашими пиратскими активаторами». А у части пиратских активаторов был такой черезпопный способ активации: сделать копию ядра, пропатчить её, чтобы рапортовало системе, что предустановлено на oem-ном железе и грузить это кастомное ядро (загрузчику можно передать опцию, указывающее имя ядра). И тут Майкрософт пофиксил некоторые уязвимости в ядре. Прилетело новое ядро и системные библиотеки, которые были рассчитаны на работу с ним. А им после перезагрузки подсунулось то самое старое пропатченное ядро. Ну и выпала система в глубокий осадок.

Проведя аналогию с Линуксом, это что-то вроде обновления ядра с 3.14 до 3.14.1. А так, ядро по-крупному обновляется почти с каждым релизом, это хорошо видно по тому, что с выходом новой ОС отваливаются антивирусы, сложные эмуляторы виртуальных приводов и так далее. Самое масштабное переколбашивание ядра было при переходе от XP к Висте, там даже совместимость на уровне драйверов прекратилась.

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

что мешает поставить какойнить fglrx-legacy на новое ядро? А всё поменялось

Именно так. Актуальный fglrx уже не поддерживает мою карту. Последний из тех, что еще поддерживал не встанет на новую версию моего любимого дистрибутива. Почему? Потому что он не работает с этой версией Mesa, после релиза Mesa AMD начинает адаптировать актуальный fglrx для работы с ней. То есть, если я хочу использовать таки fglrx, то придется ставить ту прежнюю версию дистрибутива, в которой была еще старая Mesa. И ядро там, соответственно, тоже не свежее.

Вот это главная проблема с проприетарными видеодрайверами в этом вашем линуксе. А с открытым, увы, моя карта за 9 тысяч денег работает, как карта за 4 тысячи денег.

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

Бежит такой неудачник с винды на линукс.

Лол, ну и дурак он, что не знает Application Verifier и Application Compatibility Toolkit.

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

Дрова 337.25 (последние на текущий момент в Gentoo) с ядром 3.15 не работают. Об этом сразу предупреждают прямым текстом при обновлении дров. Так что придется ждать.

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

не раз в месяц, а раз в релиз. не сильно, но всё же

Там почти его вообще не меняют. Последняя смена была при переходе XP->Vista.

linux-kernel-lts?

А толку то, если в во-первых, в убунте свое «lts», во-вторых, ты предлагаешь 2 года ждать до следующего «lts», чтобы завести новую мышь?

и да — почему те железки которые уже не подерживаются производителем — драйвера не устанавливаются в новые версии Windows? принтеры например-всякие-там..

Не знаю почему, я с таким не сталкивался. В винде это скорее исключение, в линуксе - правило.

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

Ядро там меняется. Кстати в 8ке при переходе к 8.1 сменилось ядро, по-моему впервые в пределах одной ветки винды. Драйвера при этом не отъехали.

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

Кстати в 8ке при переходе к 8.1 сменилось ядро, по-моему впервые в пределах одной ветки винды

то есть вот значит почему там (в 8.1) теперь грузится по умолчанию Рабочий Стол («Desktop»), а не Пуск («Start Screen») ? :-)

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

А толку то, если в во-первых, в убунте свое «lts»,

тут всё просто — выбири то LTS на котором работают все нужные тебе железки..

во-вторых, ты предлагаешь 2 года ждать до следующего «lts», чтобы завести новую мышь?

установи DKMS-драйвер на мышь..

...тот самый драйвер который тебе любезно сделали производители мышы.. а если они не сделали — тыг вот тогда и узнай у них почему они не сделали (LTS им предоставили, DKMS им тоже предоставили.. что им помешало сделать?)

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

Версию /Windows/system32/ntoskrnl.exe посмотри. Это ядро.

5.1 - xp 6.0 - виста 6.1 - win7 6.2 - win8 6.3 - win8.1

Если возьмешься утверждать, что это минорщина, то не забудь, что ядра Linux тоже отличаются второй цифрой, минорщина это то, что после второй цифры, а первую Линус вообще сменил just for fun.

Кстати, в винде, у ядра версия вида 6.1.7601.18409. Четвертая группа чисел это как раз минорная версия, она увеличивается при апдейтах ядра.

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

Ты как и все линуксятники винду только на картинках видишь? Поведение по-умолчанию не изменилось.

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

Пфф. Это пруф того что циферку поменяли, а не самого кода. Как-то наглядно можно проверить, что именно в ядре изменилось? Может например поддержка новой ФС появилась, или другой тип свопа, или что там ещё в ядре лежит у них.

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

Если возьмешься утверждать, что это минорщина, то не забудь, что ядра Linux тоже отличаются второй цифрой, минорщина это то, что после второй цифры, а первую Линус вообще сменил just for fun.

Ченджлог ядер линукса я знаю. А можно такой же для винды?

vurdalak ★★★★★
()

Капец, пока они BFQ родят, все перейдут на ssd и забьют болт на планировщики.

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

выбири то LTS на котором работают все нужные тебе железки..

Неуниверсально. Такой подход меня не устраивает.

установи DKMS-драйвер на мышь..

Как если его нет?

LTS им предоставили

Это фикция.

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

Все ядерные интерфейсы винды светятся через windbg (внезапно да?). Новый функционал был добавлен.

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

ты предлагаешь 2 года ждать до следующего «lts», чтобы завести новую мышь?

А зачем ты покупаешь огороженные мышки с закладками АНБ от тим кука?

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

Проблема в том, что changelog ala linux kernel это на 99% crap типа добавили поддержку новой мышки или джойстика. Для винды это всё бессмысленно. Винду умные дяди _проектировали_, поэтому весь этот функционал по большей части добавляется драйверами от производителей.

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

> то есть вот значит почему там (в 8.1) теперь грузится по умолчанию Рабочий Стол («Desktop»), а не Пуск («Start Screen») ? :-)

Ты как и все линуксятники винду только на картинках видишь? Поведение по-умолчанию не изменилось.

наверное меня не стоило бы относить в группу к линуксоидам — в полной мере этого слова, так как на одном из компьютеров (который впрочем я включаю не часто) у меня установлен Windows.. :-)

..и вот как раз после очередного обновления — Windows стал загружать рабочий стол (Desktop) вместо Пуска (Start Screen) — именно по умолчанию..

[я на этом компьютере вообще ни какие настройки не менял ни когда.. только Microsoft Internet Explorer удалил из списка «Programs and Features» (а вместо него установил Valve Steam) и всё больше ни каких настроек]

[[кстати, заодно хочу отметить что нет ни какой разницы откуда запускать Steam — из Desktop или из Start Screen — всё одно и тоже :-) ... так что зачем они сделали это изменение — не особо понятно.. :)]]

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

У меня не стал загружаться на рабочий стол.

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

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

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

Работают. Я, правда, уже обновился до 340.17, но и с предыдущими проблем не было.

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

А вы в курсе сколько в ядре закладок от АНБ? и в gcc - чтобы код с закладками генерить при некоторых условиях

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

Драйвера при этом не отъехали.

В виндомирке с драйверами много тонкостей и сама по себе смена ядра для драйверов ничего не значит, за это в большей мере отвечают другие уровни ОС. Тут надо рисовать интеллектуальную карту, текстом описать это не так просто, хотя наверное всё же проще чем в прыщемирке. Суть виндомирка в том что всё неплохо унифицировано и стандартизировано. А новые (версии) API просто появяются с каждой новой основной веткой, но это не мешает это их отпортировать на более старые версии винды (и ядра соответственно). А то что там DX10 на XP не сделали, так это чисто политика и ниже будет ясно почему. Вот как виндомирок живёт:

  • VxD (Virtual Device Driver) — умерло c кончиной 9x ветки, кроме неё нигде не поддерживалось, потому что DOS;
  • Windows NT driver model — как бы умерло с приходом WDM (WNTDM это прародитель WDM), как бы работало только в NT-ветке до 2000 винды; но на самом деле похоже всё ещё работает в какой-то мере;
  • WDM (Windows Driver Model) — живёт до сих пор начиная с 98 винды, как замена VxD и WNTDM, включает в себя много всего, не очень прозрачно обновляется — надо смотреть какие его отдельные куски обновились с новой виндой;
  • XDDM (Windows 2000 Display Driver Model) — пришло c 2000 умерло на 8рке, используется только для видеокарт;
  • XPDM (Windows XP display driver model) — пришло с XP и пока не умерло, но явно доживает последние годы, используется только для видеокарт;
  • UAA (Universal Audio Architecture) — пришло с 2004 года, только для звуковых устройств, по большей части замена WDM по части звука, но не во всех случаях; можно использовать начиная с 2000 винды с какого-то там сервиспака;
  • WDF (Windows Driver Foundation) — введено начиная с висты как канонiчное WDM, но работает начиная с 2000 винды (кто бы мог подумать, да), он состоит из прозрачно обновляющихся KMDF (ядерный режим) и UMDF (пользовательский режим). Вот насколько я понял его старые версии потихоньку выпиливаются;
  • WDDM (Windows Display Driver Model) — опять же пришло с висты, используется только для видеокарт, так же имеет прозрачное обновление и так же потихоньку старые версии выпиливаются (хотя видеодрайвера от 7рки на 8рке у меня работали);
  • MSBDD (Microsoft Basic Display Driver) — пришло с 8рки как замена XDDM по части VGA Save и VGA PnP драйверов.


Ну и т. д. На самом деле я думал это будет короче. И это ещё не всё. Вот если взять тот же WDM, то там есть сетевая часть под названием NDIS (Network Driver Interface Specification) и она обновляется с каждой новой виндой, и там много всего такого узкоспециального. С 8ркой не мало всего нового пришло, но это не мешает старым API во многих случаях продолжать работать, в этом и отличие виндомирка от прыщемирка. Вообще я могу сказать точно что драйвера от 2000 у меня ставились на 2003, а от XP/2003 ставились на 7рку, как и драйвера от 7рки на 8рку. Но вот скажем драйвер от 2000 на 8рку я ставить не пробовал, да и не хочу, не охота сидеть на 32разрядной ОС.

Кстати в 8ке при переходе к 8.1 сменилось ядро, по-моему впервые в пределах одной ветки винды

А как же XP и XP64 (которая на коде 2003 Server)?

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

В открытом gcc? Как внедрили код и сохранили в тайне? Ни один не завопил «Посоны смотрите чё я нашёл!!!»

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

точно также ка внедрили HeartBleed в openssl - никто ничего долгое время не замечал... тут строчку один коммитер добавил, там пару строчек через месяц другой, и так далее - через годик получили незаметный функционал

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

Вы до сих пор наивно уверены что открытый код - 100% панацея от закладок?

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

..и вот как раз после очередного обновления — Windows стал загружать рабочий стол (Desktop) вместо Пуска (Start Screen) — именно по умолчанию..

Странная логика. То есть, если убунта в следующем релизе в своем юнити что-то по умолчанию изменит, ты будешь говорить, что это из-за нового ядра Linux.

Тред полон петросянов, ей-богу.

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

А вы в курсе сколько в ядре закладок от АНБ? и в gcc

Нет. А ты в курсе? Если да, то откуда?

То есть ты тоже не в курсе, сколько их. Печаль.

Вы до сих пор наивно уверены что открытый код - 100% панацея от закладок?

«Придумай дурацкое утверждение, припиши его оппоненту и разоблачи» - это какое правило демагога?

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

Оставайтесь в позе страуса - если вы закладок не видите - то их нет...

А ты, наверное, написал свою ОС и сделал свое железо? Нет? Тогда не тебе говорить о позе страуса.

tailgunner ★★★★★
()

WDDM (Windows Display Driver Model) — опять же пришло с висты, используется только для видеокарт, так же имеет прозрачное обновление и так же потихоньку старые версии выпиливаются (хотя видеодрайвера от 7рки на 8рке у меня работали);

Немного не так. На данный момент, есть WDDM 1.0 (виста), 1.1 (семерка), 1.2 (восьмерка), 1.3 (восьмерка-один). Это как DirectX - с каждой версией добавляется больше плюшек. Но новые версии обратно совместимы со старыми. Так что если драйверы видеокарты давно не обновлялись и поддерживают, например 1.1, то ты получишь плюшки 1.1 и в вин7 и в 8.1. Ничего не выпиливается. Равно как и игры на DX9 можно запускать и получить свои законные DX9, хотя ОСь поддерживает и 11.

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

Хотя XPDM в 8рке кажется тоже убили, но нагуглить точную инфу не могу.

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

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

Сходи посчитай закладки в закрытых программах, потом сравни результаты открытых и закрытых.

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

не более чем в открытых... скорее даже менее...

Ты не знаешь даже, сколько закладок в открытых. Откуда тебе знать, сколько их в закрытых? Эксперт, прости господи...

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

Ну значит версии WDDM не выпиливаются как WDF, хотя надо будет как-нибудь попробовать поставить драйвер от висты на 8.1.

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

Мне достаточно болтать о закладках в опенсоурсе. на остальное мне пофиг

/fixed

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