LINUX.ORG.RU

Вышло ядро Linux 3.8

 ,


3

2

После двух месяцев разработки вышла новая версия ядра Linux 3.8.

Основные новшества представлены ниже.

  • В файловых системах и подсистеме хранения данных.
    • Добавлена поддержка файловой системы F2fs, предназначенной для использования на USB-флешках, картах памяти и других устройствах, использующих уровень FTL. Принцип действия этой ФС основан на постепенном заполнении носителя с начала устройства (Log-structured FS), при этом используется приём Copy-On-Write. ФС гарантирует доступность старых данных, если новые данные записаны не полностью, при этом традиционное (для некоторых систем) журналирование не используется за ненадобностью.
    • В btrfs улучшена функция переноса данных с одного диска на другой. Помимо этого, в код этой ФС приняты патчи, позволяющие некоторым алгоритмам распараллеливаться на несколько процессоров (ядер), что в теории должно привести к увеличению производительности.
    • В файловой системе Ext4 реализована поддержка хранения мелких файлов непосредственно в inode. Этот приём используется для убыстрения доступа к таким файлам, а также в целях экономии дискового пространства. Напомним, что похожие алгоритмы используются и в reiserfs.
    • В файловой системе XFS реализована функция определения повреждений метаданных при выполнении операций чтения и записи. Такие повреждения выявляются посредством вычисления контрольных сумм по алгоритму CRC.
    • В код подсистемы, отвечающей за реализацию RAID6, добавлена поддержка инструкций AVX2, что позволит повысить производительность некоторых операций на будущих процессорах Intel Haswell.
  • В инфраструктуре.
    • Добавлена возможность ограничения памяти ядра, используемой для управления процессами. Это позволяет более эффективно бороться с т.н. форк-бомбами, т.е., бесконтрольным размножением процессов.
    • Подсистема NUMA изменена таким образом, чтобы поддерживать когерентность между памятью и процессором для одного процесса. Это должно привести к повышению быстродействия, т.к. процессы на архитектуре NUMA быстрее получают доступ к памяти, выделенной своему процессору, нежели другим.
    • В отдельных случаях значительно уменьшено потребление памяти. В случае, если процесс запрашивает много памяти, но не пишет в неё, память реально не выделяется. Это достигнуто благодаря применению техники Copy-On-Write для выделения больших страниц памяти на основе страниц, заполненных нулями.
    • Включена утилита turbostat. Она позволяет на новых процессорах Intel смотреть приблизительное потребление (в ваттах) каждого ядра (вычислительного и графического) по отдельности.
    • Добавлена поддержка динамического изменения объёма выделенной памяти при использовании ядра в виртуализированном окружении Hyper-V.
    • Убрана поддержка процессоров серии 386 с целью упрощения кода, отвечающего за поддержку многопроцессорности.
    • В BPF добавлена возможность фильтрации трафика по VLAN'ам. Эту возможность можно использовать, например, в пользовательской утилите tcpdump.
    • Добавлена поддержка вычисления контрольных сумм инкапсулированных пакетов на уровне «железа», что должно снизить нагрузку на центральный процессор.
    • Планировщик процессов изменён таким образом, чтобы помещать много маленьких заданий на одно ядро процессора, позволяя другим ядрам бездействовать. Также отмечается переработка подсистемы RCU, призванная уменьшить джиттер задержки при перепланировании процессов.
  • В драйверах.
    • В драйвер Nouveau добавлена поддержка 3D-ускорения с помощью OpenGL на всех существующих картах GeForce. По части управления охлаждением и поддержки ускорения видео разработчикам ещё предстоит работать.
    • Добавлен простой графический драйвер для NVIDIA Tegra 2/3, разработанный не в компании NVIDIA. К сожалению, наработки последней по части аппаратного ускорения появились позже и в этот выпуск ядра не попали.
    • Улучшена производительность сетевых драйверов, которые используются для паравиртуализации.
    • Значительно расширен спектр поддерживаемых устройств.

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

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

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

>>> Анонс ядра на LKML

★★★★★

Последнее исправление: post-factum (всего исправлений: 2)
Ответ на: комментарий от morse

вошел, только как раз ускорения с ядром 3.8 и не заметил, скорость в шестеренках и лайтсмарке упала процентов на 30, HoN вроде не пострадал, но все ровно не приятно.

Novell-ch ★★★★★
()
Ответ на: комментарий от geekless

А шо, этого не было? О_О

Ага, меня это тоже удивило. Всегда думал, что cow был и использовался.

andreyu ★★★★★
()
Ответ на: комментарий от Novell-ch

А я наверное следующий релиз подожду и уже на нем опять попробую radeonsi завести. И что я вместо 7950 не взял что нибудь из 6ххх серии.

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

Отсутствие скилла мешает. Да и чтобы в апстрим приняли, это ещё постараться надо, там ведь тирания настоящая.

zavok
()

В файловой системе Ext4 реализована поддержка хранения мелких файлов непосредственно в inode

Хоть что-то полезное для людей.

btrfs
в теории должно привести к увеличению производительности

Да уже давно понятно, что btrfs клепают одни теоретики.

shahid ★★★★★
()

Жаль ReiserFS. Ох уж эта политика!

Badboy
()

Проблему с перезапуском системы с помощью kexec при использовании nouveau так и не поправили...

ComradeDOS
()
Ответ на: комментарий от Novell-ch

вошел, только как раз ускорения с ядром 3.8 и не заметил,
скорость в шестеренках и лайтсмарке упала процентов на 30

Так и должно быть:

While the a-synchronous DMA engine support is there on the kernel side, for exploiting its full capabilities is also user-space support that has yet to be integrated into the mainline repositories.
Подозреваю, что речь о месе.

anonymous
()

Что-то ничего не сказано про долгоожидаемые улучшения в драйвере radeon

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

Когда гибернацию уже починят )

Что с ней не так? Были сто лет назад проблемы на лэптопах с кривым dsdt, но это лечилось. Способ лечения проблемы для toshibs satellite a100 я когда то описывал у себя в блоге.

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

дык это все у меня свежее, всегда из гита, у там уже поддержка около месяца есть. Может оно так и надо, все ровно что шестеренки что лайтсмарк выдавали по 6000 и 400 фпс. А если в какой то игре вместо 30 теперь будет 40-50 фпс, то я за.

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

Мне ничто не мешает при запросе памяти резервировать место в таблице страниц и отдавать память из свопа, что уже не будет являться CoW. Поэтому CoW и overcommit связаны лишь в данной реализации ядра.

A-234 ★★★★★
()
Ответ на: комментарий от xterm

славу богу я не использую линукс

Что забыл говноед на моём лоре?

anonymous
()

Ура! Жаль, bcache так и не включили.

dennisv
()

Прощай 386й... хоть давно их не видел в живую, но все равно как-то жалко...
Что тегру добавили - это очень радует! Давно лежит ноут Тошиба - ждет своей очереди! :)

Ant0
()
Ответ на: комментарий от A-234

Мне ничто не мешает при запросе памяти резервировать место
в таблице страниц и отдавать память из свопа

Нельзя «отдавать память из свопа» - процесс может работать только с физической памятью, а в своп она отгружается, когда не нужна, при этом страница помечается как отсутствующая. Додумывая за вас, вы, наверное, хотели сказать, что будете аллоцировать страницы, и сразу помечать их как отсутствующие. Впрочем, не стану фантазировать о том, что вы хотели сказать.

Поэтому CoW и overcommit связаны лишь в данной реализации
ядра.

Теоретически - да, так как CoW - это механизм, который работает в момент записи в память, а оверкоммит - характеристика механизма аллокации. Так что, формально, они связаны только реализацией. Но я предположу, что схема overcommit+CoW является оптимальной. И что бы вы не предложили взамен, будет не эффективно работать. Соответственно, это будет не «лишь в данной реализации ядра», а везде.

Не важно. Я-то говорил про то, что с циферкой в файле CoW уж совсем никак не связан (даже реализацией), а вот с понятием оверкоммита - связан довольно плотно.

anonymous
()

Убрана поддержка процессоров серии 386 с целью упрощения кода, отвечающего за поддержку многопроцессорности.

linux-3.8.tar.bz2

README

ON WHAT HARDWARE DOES IT RUN?

Although originally developed first for 32-bit x86-based PCs (386 or higher), today Linux also runs on (at least) the Compaq Alpha AXP, Sun SPARC and UltraSPARC, Motorola 68000, PowerPC, PowerPC64, ARM, Hitachi SuperH, Cell, IBM S/390, MIPS, HP PA-RISC, Intel IA-64, DEC VAX, AMD x86-64, AXIS CRIS, Xtensa, Tilera TILE, AVR32 and Renesas M32R architectures.

puding
()

Моя прелесть опять обновилась.

В файловой системе Ext4 реализована

Вот, уже повод чтобы выпитьобновить

Планировщик процессов изменён таким образом, чтобы помещать много маленьких заданий на одно ядро процессора,

Двояко....обсудим/обсудили всё плюсы и минусы подобного решения?
NUMA же имеет какое то отношение к AMD64 или я неправильно запомнил?

Добавлен простой графический драйвер для NVIDIA Tegra 2

Я начинаю догадываться, кто это добавил, и почему каунтдаун таймер на сайте убунту кончается примерно в это же время/релизинга ядра.

В файловой системе XFS реализована

ready for production 😈

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

Помимо этого, в код этой ФС приняты патчи, позволяющие некоторым алгоритмам распараллеливаться на несколько процессоров (ядер), что в теории должно привести к увеличению производительности.

Щикарно!

Нет, это просто на тот случай, если в арчлинуксе опять сломается DMA.

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

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

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

Я uksm подожду.

А я тем временем уже на

# uname -a
Linux nemesis 3.8.0-geek #1 SMP Tue Feb 19 13:49:06 EET 2013 x86_64 Intel(R) Pentium(R) Dual CPU T3200 @ 2.00GHz GenuineIntel GNU/Linux
init_6 ★★★★★
()
Ответ на: комментарий от xterm

славу богу я использую линукс
и не ловлю бзод после очередного обновления

*fxd

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

Это точно. Стоит поцапаться с Линусом и нет твоим наработкам дороги в ядро. Вот так и не имеем довольно перспективной Reiser4.

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

Стоит поцапаться с Линусом и нет твоим наработкам дороги в ядро. Вот так и не имеем довольно перспективной Reiser4.

А что, Линусу хорошую ФС принесут в клювике по первому же свисту?

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

С bcm4313 - очень, очень слабо. На ЛОРе наблюдал за месяца последние 2 месяца три темы (вместе с моей)

У меня

# lspci -n | grep 14e4:43
03:00.0 0280: 14e4:4315 (rev 01)
modinfo wl | egrep "file"
filename:       /lib/modules/3.8.0-geek/net/wireless/wl.ko

и как бы да все работает в генте нужно активнее пинать майнтрейнера пакета net-wireless/broadcom-sta потому как там в багзилле висит пачка патчей.

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

а zen-патчи нормально накладываются?

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

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

Не пойму смысла твоих слов. Как это предположение следует из моего комментария?

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

Без CoW оверкоммит вообще не был бы возможен практически ни где.

Всё время хочется узнать, а на кой этот оверкоммит вообще нужен и дает какие либо дивиденды ? На каких таких реальных use-case ?

Раз уж разрешен по умолчанию

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

оно опять раздулось в размерах

По сравнению с чем, няша?

darkenshvein ★★★★★
()

Это отличный повод отметить это!

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

Речь о brcmsmac а не sta:-) У проприетарного свои косяки, мне более интересен ядерный.

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

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

Всё время хочется узнать, а на кой этот оверкоммит вообще
нужен и дает какие либо дивиденды ? На каких таких реальных
use-case ?

Увы, но проги реально аллоцируют _гораздо_ больше памяти, чем используют. Или, если ты замапишь большой файл с MAP_PRIVATE, PROT_READ|PROT_WRITE, то это тоже зачтётся как выделение памяти. В результате, если запретить оверкоммит, то куча физической памяти просто будет без дела пылиться, в случае маленького свапа. С другой стороны, если не запретить - возможен OOM kill. Сейчас, в эпоху больших свопов, может быть оверкоммит и не так уж актуален, но на мелких девайсах он бывает необходим.

Раз уж разрешен по умолчанию

По умолчанию он не полностью разрешён, а частично. Ядро пытается подсчитать процент аллоцируемой но не используемой памяти, и, в зависимости от этого, решает, на сколько давать оверкоммитить.

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

В современных SSD контроллер без всякой поддержки со стороны ФС сжимает все данные.

На SandForce только.

В Marvell до этого уровня ещё не опустились, так как справедливо считают, что сжатие лучше отдать на откуп файловым системам — они лучше знают, какие данные лучше сжимать и каким алгоритмом.

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

Но проблему решили слишком кардинально, не так ли? Могли бы все костыли поместить исключительно в ifdef'ы. Хотя, я код не читал, потому ничего не скажу.

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

Проблема в том, что в 1 случае из 10 ноут не выходит в гибернацию и в 1 случае из десяти не входит в нее. У себя в блоге я тоже описывал способ типа лечения, который лишь смягчает проблему )

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

Да уж, нашел тоже оплот стабильности, XFS... Вообще всю жизнь >это была ОЧЕНЬ быстрая файловая система для камикадзе.

Отвечу как практик. Использую XFS еще с тех времен, когда она была отдельным патчем для ядра, это примерно 2000 год, точно не помню. Охват- ну наверно сотен 5 серверов, может и больше, трудно сказать. Критичных сбоев не помню вообще. Но это сервера, с UPS обычно.

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