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)
Ответ на: комментарий от Harald

и GeForce 2 MX400 тоже? :)

На 440 оно раньше немного работало. Эффекты в кде4, кое-какие игрушки типа tuxracer и openareana. Но чаще от версии к версии что-то не работает, чем работает(не только про 3д)

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

Процессор Intel486 имеет сигнал BREQ, используемый для поддержки мультипроцесорных систем

А однопроцессорным системам что с этого?

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

это не серьезно врядли на этом запустить можно kde или gnome я про типа xorg имеел виду такую же монструозный систему

Открой для себя Заглавные Буквы и знаки препинания. Возникает ощущение беседы с инопланетным засланцем. Вопросы к размеру исходников ядра пропадают после ососзнания того, что мир IT не ограничивается твоим десктопом. Каждый кусочек кода в ядре кому то зачем то нужен и написан с какой то целью.

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

Однопроцессорные системы уходят в прошлое. И выкинули i386 в этом контексте:

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

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

Чем 386 принципиально отличается от 486, да и первопней?

Нехваткой каких-нибудь инструкций.
Необязательностью сопроцессора. (Хотя были и 486SX)
Багом конвеера. (Или он как раз в четвёрках был?)

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

По-моему в первопнях, нет?

Нет. Именно в тройках. Потому что уже в четвёрках все матерились и плакали, т.к. куча народа сделала на этом баге защиты от копирования. Например, в Lands of Lore первом. :)

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

Нет, не всегда через mmap, посмотрите что такое
MMAP_THRESHOLD в malloc(3).

Перечитайте моё сообщение: я и написал, что не всегда через mmap работает malloc. И ещё раз перечитайте, чтобы понять, что именно работает через mmap() (или sbrk) всегда.

То есть конечно выделится полюбому только при обращении но
если памяти нет то программа получит ENOMEM.

Соответственно, никакого отношения с CoW это не имеет, а так - всё верно.

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

открою как куплю себе новую клаву тут клавиши залипают мне сподручнее так писать чем мучится с клавой

а насчет ядра оно с каждым годом все глючнее становится

а на убунте лучше ядро не обновлят совсем все летит к такой то матери

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

Однопроцессорные системы уходят в прошлое. И выкинули i386 в этом контексте:

Ой-ой, прям канули в лету. Наступают многопроцессорные кофеварки и холодильники.

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

Чем 386 принципиально отличается от 486, да и первопней?

В основном, отсутствием всяких атомарных cmpxchg инструкций, необходимых для реализации SMP-блокировок. Так же там нет invlpg для частичных TLB-flush, ну и ещё по мелочам всякого не хватает для нормальных SMP-систем.

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

ну ежели речь о кофеварках, то там поди не 386, а arm/avr ..etc...

AndreyKl ★★★★★
()

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

какого размера должен быть файл, чтоб поместится в inode?

niXman ★★★
()

В файловой системе Ext4 реализована поддержка хранения мелких файлов непосредственно в inode. Этот приём используется для убыстрения доступа к таким файлам, а также в целях экономии дискового пространства. Напомним, что похожие алгоритмы используются и в reiserfs.

А что, reiserfs у нас файлы уже в иноде хранит?

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

Вроде в LVM есть снапшоты

Ненене, нафиг-нафиг.

Можно подробнее - почему такое отношение к снапшотам LVM?

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

У нас, в Fedora, есть багрепорт

один, и тот нарисованнный (с)

нафига вам они, всё равно же реакции нету?

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

открою как куплю себе новую клаву тут клавиши залипают мне сподручнее так писать чем мучится с клавой

Ну да, ну да... w a s d + мышь работают, остальное не важно, лол.

а насчет ядра оно с каждым годом все глючнее становится

Снова лол. Для меня ровно наоборот, всё прямее и прямее, если конечно заведомо экспериментальные, глючные по определению (btrfs) сущности не использовать в рабочей системе.

а на убунте лучше ядро не обновлят совсем все летит к такой то матери

Бывает. Только это проблемы убунты. Можно попробовать кактус сменить.

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

А драйвера к ней есть под не Linux? И какие устройства её понимают?

Не намекай на Шiindoшs, она не нужна.

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

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

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

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

Вменяемые люди ssd на sandforce не покупают.

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

Соответственно, никакого отношения с CoW это не имеет, а так - всё верно.


Это как не имеет? Что такое по вашему выделение памяти при записи в нее как не CoW? Я собственно и задавал вопрос что такого нового привнесено в механизм выделения памяти который делает CoW еще с незапамятных времен. Видимо имелась в виду оптимизация для больших страниц.

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

задержите выпуск ядра! нам нужно полгода потестировать фичу!

ну аллё жэ кому нужны эти тесты ещё на 3.2 ядре сидит и на 3.8 пересядет не скоро.

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

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

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

А что мне делать с моими серверами на 80386?!

Многопроцессорными? С Oracle на борту?

Мужик!

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

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

Это что-то интересное. То есть, если у SSD заявлена вместимость 100G, то туда может поместиться 200G хорошо сжимаемого текста?

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

Это как не имеет? Что такое по вашему выделение памяти при
записи в нее как не CoW?

Вы либо троллите, либо непонятно, что делаете: значение в файлике overcommit_memory не имеет отношения к CoW, а вы написали вот это:

Всем сомневающимся предлагаю выполнить команду:cat /proc/sys/vm/overcommit_memory Если у вас там 0, то ваш линукс уже выделяет память только по Copy-On-Write.
Он делает это вне зависимости от того, 0 там, или не 0. Просто можно ENOMEM получить, но на CoW это не влияет никак.

Видимо имелась в виду оптимизация для больших страниц.

Я уже ответил, что изменение в том, что Zero page теперь может быть больше 4К - это и всё изменение. Но результат его в том, что mmap теперь сможет гораздо меньше страниц аллоцировать, что сэкономит память чуток.

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

стандартный инод 256к а это треть того что хватит каждому.

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

Вроде в LVM есть снапшоты

Ненене, нафиг-нафиг.

А обосновать? Или лишь бы пёрнуть в лужу почём зря.

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

Это было приведено как иллюстрация того что CoW присутствует и в старых ядрах, не более того. Это было первое что на ум пришло, так как интерпретация содержимого overcommit_memory часто используется для демонстрации отложенного выделения памяти в ядре. А так конечно прямого отношения к CoW само понятие overcommit не имеет.

A-234 ★★★★★
()

Добавлено
Включено
Расширено
Реализовано

Эх, лучше бы выпилили лишнего чего. А то такими темпами скоро придётся для ядра отдельный терабайтный винт ставить.

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

не в терабайтах дело

а что они потом и в своем коде и не разбирутся лепят все что под руку попадется представляю сколько там не нужных лишних строчек мусора полно в коде

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

А так конечно прямого отношения к CoW само понятие
overcommit не имеет.

Как раз имеет, и самое прямое. Без CoW оверкоммит вообще не был бы возможен практически ни где. Не имеет отношение к CoW только цифирка в файле overcommit_memory, именно на которую вы и сослались почему-то.

anonymous
()

В отдельных случаях значительно уменьшено потребление памяти. В случае, если процесс запрашивает много памяти, но не пишет в неё, память реально не выделяется. Это достигнуто благодаря применению техники Copy-On-Write для выделения больших страниц памяти на основе страниц, заполненных нулями.

Очень вкусный релиз. Хотеть. Ждем pf.

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