URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 93616
[ Назад ]

Исходное сообщение
"Релиз ядра Linux 3.13. Обзор новшеств"

Отправлено opennews , 20-Янв-14 07:34 
После двух с половиной месяцев разработки Линус Торвальдс выпустил (https://lkml.org/lkml/2014/1/19/148) ядро Linux 3.13 (https://www.kernel.org/). Среди наиболее заметных улучшений ядра 3.13:  интеграция пакетного фильтра Nftables, включение по умолчанию режима TCP Fast Open, увеличение производительности Squashfs, поддержка протокола HSR для создания отказоустойчивых сетевых конфигураций, добавление нового высокопроизводительного слоя блочных устройств, поддержка автоматического переключения между GPU в драйвере Radeon, фреймворк для ограничения энергопотребления устройств, классификатор трафика на основе BPF, реализация средств для проведения защищённых финансовых транзакций по NFC, поддержка архитектуры Intel MIC.

В новую версию принято 12 тысяч исправлений от 1339 разработчиков, размер патча - 32 Мб (изменения затронули 9849 файлов, добавлено 441972 строк кода, удалено -237897 строк). Около 44% всех представленных в 3.13 изменений связаны с драйверами устройств, примерно 21% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 4% - файловыми системами и 5% c внутренними подсистемами ядра. 11.9% изменений внесено сотрудниками компании Intel, 9.7% - Linaro, 9% - Red Hat, 5% - Samsung, 3.5% - IBM, 2.7% - SUSE,  1.7% - Google, 1.5% -  NVIDIA, 1.1% - Oracle, 1.0% - Huawei, 0.9% - ARM.

Из наиболее интересных новшеств (http://kernelnewbies.org/Linux_3.13) можно отметить:


-  
Сетевая подсистема


-  Интеграция пакетного фильтра Nftables (http://netfilter.org/projects/nftables/), развиваемого для замены iptables, ip6table, arptables и ebtables.  Добавленный в ядро 3.13 код предусматривает сосуществование старой и новой подсистем, так как  Nftables ещё требует доработки и тестирования. Nftables основывается на идеях, близких к реализации BPF (Berkeley Packet Filters) - правила фильтрации компилируются в пространстве пользователя в байткод и передаются в ядро через API Netlink, после чего для принятия решения по дальнейшим действиям с пакетом выполняются с использованием конечного автомата (pseudo-state machine). Выполнение правил с использованием конечного автомата вместо применения логики сопоставления позволяет сократить размер кода фильтрации, работающего на уровне ядра и вынести все функции разбора правил и логики работы с протоколами в пространство пользователя.

В Nftables работа с различными видами протоколов унифицирована в едином наборе псевдокода, что позволяет избавиться от необходимости поддержания в ядре отдельных расширений фильтрации для IPv4, IPv6, ARP и сетевых мостов. Все операции по определению условий и связанных с ними действий выполняются в пространстве пользователя, в ядре производится только базовый набор операций, таких как чтение данных из пакета, сравнение данных и т.п. Для реализации поддержки фильтрации нового протокола, все изменения могут быть внесены в пользовательском пространстве без обновления кода ядра. В качестве базовых блоков по-прежнему используются компоненты инфраструктуры  Netfilter, в том числе существующие хуки, система отслеживания состояния соединений, компоненты организации очередей и подсистема ведения лога.

Для формирования правил фильтрации в nftables подготовлена утилита nft (http://kernelnewbies.org/nftables_examples), которая проверяет корректность правил и транслирует их в байткод. Правила  могут добавляться не только инкрементально, но и загружаться целиком из файла на диске. Синтаксис правил (https://home.regit.org/netfilter-en/nftables-quick-howto/)&n...не похож на iptables и отличается использованием иерархических блочных структур  вместо линейной схемы.  Язык классификации правил основан на реальной грамматике, при обработке которой используется сгенерированный в bison парсер.  Для обеспечения обратной совместимости с линейными правилами  предоставляется специальная прослойка, позволяющая использовать iptables/ip6tables поверх инфраструктуры Nftables.


-  Интегрирован (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g... легковесный классификатор трафика, выступающий в качестве гибко настраиваемой альтернативы ematch-классификатору.  Особенностью нового классификатора является использование виртуальной машины BPF (Berkley Packet Filter) для выполнения программы классификации трафика, загружаемой в ядро в форме байткода, который в том числе может компилироваться  в машинные инструкции при помощи  BPF JIT-компилятора. Для загрузки bpf-правил используется штатная утилита tc, например "tc filter add dev em1 parent 1: bpf run bytecode-file /etc/tc/ssh.bpf flowid 1:1". Для создания bpf-правил может использоваться компилятор bpfc или tcpdump: "tcpdump -iem1 -ddd port 22 | tr '\n' ',' > /etc/tc/ssh.bpf".


-  Включена по умолчанию поддержка  режима быстрого открытия TCP-соединений (TFO - TCP Fast Open), который позволяет сократить число шагов установки соединения за счёт комбинирования в один запрос первого и второго шагов классического 3-этапного процесса согласования соединения, и давая возможность отправки данных на начальном этапе установки соединения.
-  В ipset добавлена поддержка (http://git.kernel.org/linus/1785e8f473082aa60d62c7165856cf64... сетевых пространств имён (network namespaces), возможность (http://git.kernel.org/linus/68b63f08d22f23161c43cd2417104aa2... использования комментариев в записях, реализация модулей "hash:net,net" и "hash:net,port,net" для указания двух подсетей в одной записи.

-  Поддержка протокола HSR (https://en.wikipedia.org/wiki/High_Availability_Seamless_Rin... (High-availability Seamless Redundancy) для создания высокодоступных резервных  Ethernet-каналов, обеспечивающих сохранение работоспособности сети при выходе из строя одного из каналов без задержки на восстановление. Для обеспечения отказоустойчивости в HSR  используется кольцевая топология, в которой все узлы соединены с  использованием двух дублирующих друг-друга каналов, каждый из которых используется в параллельном режиме. Для контроля целостности в обоих направлениях кольца отправляются специальные HSR-фреймы. HSR-драйвер создаёт специальный виртуальный сетевой интерфейс, с которым можно работать как с обычным сетевым интерфейсом.

-  Для сетевых сокетов представлена (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g... поддержка опции  SO_MAX_PACING_RATE, позволяющей приложению выставить значение максимальной интенсивности обработки пакетов на транспортном уровне. Лимит задаётся в байтах в секунду. Опция эффективно работает только с планировщиком пакетов Fair Queue.
-  В стек IPv4 для сокетов добавлена поддержка режима IP_PMTUDISC_INTERFACE (http://git.kernel.org/linus/482fc6094afad572a4ea1fd722e7b11c... позволяющего игнорировать механизм Path MTU discovery (http://ru.wikipedia.org/wiki/Maximum_transmission_unit#Path_... не принимать и устанавливать новую информацию Path MTU, а всегда использовать параметры MTU сетевого интерфейса для отправляемых пакетов. Данная опция может оказаться полезной для блокирования атак на DNS-серверы, манипулирующих PMTU.

-  В интерфейсы виртуальных туннелей IPsec (vti) добавлена (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g... поддержка IPv6.
-  Добавлена (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g... возможность использования непривилегированными пользователями некоторых вызовов sysctl (например, /proc/sys/net/ipv4/ip_local_ports_range или /proc/sys/net/ipv4/icmp_echo_ignore_all)  для изолированных сетевых пространств имён (network namespaces).

-  
Дисковая подсистема, ввод/вывод и файловые системы


-  Для эффективного использования возможностей современных SSD-накопителей в ядро включен (http://git.kernel.org/linus/320ae51fe...

URL: https://lkml.org/lkml/2014/1/19/148
Новость: http://www.opennet.me/opennews/art.shtml?num=38845


Содержание

Сообщения в этом обсуждении
"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Fracta1L , 20-Янв-14 07:36 
Фороникс утверждает, что в 3.13 наблюдаются ощутимые регрессии в дисковой подсистеме (отчасти из-за недоработанного ещё нового блочного слоя). Пожалуй, пропущу этот релиз и подожду 3.14

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 09:44 
Phoronix тестировал rc, может исправили.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 10:16 
Что за регрессии? Тесты повалились?

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 11:26 
Фореникс как всегда прав.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 16:43 
> Фореникс как всегда прав.

Слово "как" в вашем заявлении - лишнее.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено р323234 , 20-Янв-14 20:52 
Оно не меняет смысла, так что без разницы

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 02:21 
Зато отлично передает контекст.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Mr_Gentoo , 20-Янв-14 23:50 
> Фореникс как всегда прав.

Фороникс как всегда лев.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 03:50 
Генту как всегда позади планеты всей.
Особенно, по скорости развития.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 15:44 
Фороникс, залогинься.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Sergey722 , 20-Янв-14 12:22 
Фороникс утверждает:
The Linux 3.13 Kernel Is A Must-Have For AMD RadeonSI Users
Там прирост производительности в пять раз - не самый впечатляющий результат.
Вот такой он противоречивый - Фороникс.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Fracta1L , 20-Янв-14 12:25 
Серёжа, нельзя же так люто упарываться, это совершенно разные подсистемы. Где ты тут противоречие увидел?

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Sergey722 , 20-Янв-14 12:41 
Ладно, уговорили, не буду :)
Все равно, улучшения в графике радуют!

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено ананим , 20-Янв-14 12:50 
>поддержка автоматического переключения между GPU в драйвере Radeon

Дык у обладателей амд праздник. Одним этим предложением утерли нос нвидиа.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Fracta1L , 20-Янв-14 13:54 
Да, наконец-то начали доставать до носа нвидиа. Встав на цыпочки -))

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 20:35 
> Дык у обладателей амд праздник. Одним этим предложением утерли нос нвидиа.

Для них 3.13 - это эпохальный кернел. Если у вас не слишком древняя видеокарта, DPM активированный по дефолту порадует вас холодным GPU в режиме ничегонеделания и отличной производительностью при нагрузке.

//к сожалению я нашел в нем баг, ну вот почему баги лезут сразу после релизов, а не до?!


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 10:59 
>к сожалению я нашел в нем баг, ну вот почему баги лезут сразу после релизов, а не до?!

А почему ты ищешь баги после релиза, а не до?


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено arisu , 21-Янв-14 15:35 
>>к сожалению я нашел в нем баг, ну вот почему баги лезут сразу после релизов, а не до?!
> А почему ты ищешь баги после релиза, а не до?

а с каких пор «пользоваться» стало равно «ищешь баги»?


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pkunk , 20-Янв-14 16:33 
From: Marek Olšák <marek.olsak@amd.com>

Only the render backends of the first shader engine were enabled. The others
were erroneously disabled. Enabling the other render backends improves
performance a lot.

Unigine Sanctuary on Bonaire:
  Before: 15 fps
  After:  90 fps

Judging from the fan noise, the GPU was also underclocked when the other
render backends were disabled, resulting in horrible performance. The fan is
a lot noisy under load now.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 20:36 
> Unigine Sanctuary on Bonaire:
>   Before: 15 fps
>   After:  90 fps

Учитесь как фиксы надо выкатывать. А юзеры Bonaire должны поставить Marek'у памятник при жизни вообще.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 13:04 
Этот же коммит включем в ядра >=3.12.7, если что.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено бро , 20-Янв-14 14:50 
Если хочешь, можно подождать и более совершенную - 3.141

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Fracta1L , 20-Янв-14 15:21 
> Если хочешь, можно подождать и более совершенную - 3.141

Нет, стоит подождать абсолютно совершенную - 3.14159265359... и так далее -))


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 19:08 
> Нет, стоит подождать абсолютно совершенную - 3.14159265359... и так далее -))

$ latex --version
pdfTeX 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian)


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 04:42 
Когда Кнут умрет, согласно его завещанию, версии tex и metafont примут значения равные π  и e соответственно, а все баги станут считаться особенностями реализации.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Sylvia , 20-Янв-14 16:53 
настоящие джедаи не должны поддаваться лжи провороникса :D

обновила на 2 серверах, с производительностью диска все ОК, правда там и конфиг минимальный у ядра


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 20:37 
> настоящие джедаи не должны поддаваться лжи провороникса :D

Ну поскольку мадам не выкатила никаких тестов лучше - мы будем предпочитать фороникса.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено arisu , 20-Янв-14 22:12 
> Ну поскольку мадам не выкатила никаких тестов лучше - мы будем предпочитать
> фороникса.

а мы — не будем. индекс доверия у обоих источников примерно одинаковый.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 22:38 
> а мы

"Мы, Николай Вторый..."


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено arisu , 21-Янв-14 02:42 
>> а мы
> «Мы, Николай Вторый…»

это к #111


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 00:09 
Почему нельзя унижать девушек на опеннете?

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено arisu , 21-Янв-14 02:44 
> Почему нельзя унижать девушек на опеннете?

можно. но за дело. но сильви очень старательно избегает «дела».


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 15:45 
> Почему нельзя унижать девушек на опеннете?

Персонально тебе - вообще ничего здесь нельзя. Страдай.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Sylvia , 24-Янв-14 10:46 
не знаю можно ли назвать это регрессией, но дисковая активность явно выросла на обоих обновленных до 3.13 серверах без видимых внешних причин

iops
http://storage5.static.itmages.ru/i/14/0124/h_1390545883_493...

load avg
http://storage7.static.itmages.ru/i/14/0124/h_1390545892_401...


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 29-Янв-14 14:49 
ССЗБ :(

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 29-Янв-14 14:50 
На серверах .0 ядра используют только камикадзе или новички. Либо у вас сервер локалхоста, тогда понятно.



"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Andrey Mitrofanov , 20-Янв-14 07:56 
http://www.opennet.me/openforum/vsluhforumID3/92256.html#303

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 09:37 
А что лучше, dm-cache или Bcache ?

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Гость , 20-Янв-14 10:23 
> А что лучше, dm-cache или Bcache ?

Для вас лучше dm-cache.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 09:38 
а когда в роутерах перестанут наконец использовать ржавое прержавое ядро 2.6?

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Гость , 20-Янв-14 10:05 
Когда пресвежие ядра станут такими же оттестированными как 2.6 и производителям кровь из носа потребуется функционал из новых ядер.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Andrey Mitrofanov , 20-Янв-14 10:55 
> Когда пресвежие ядра станут такими же оттестированными как 2.6 и производителям кровь
> из носа потребуется функционал из новых ядер.

Или когда новые ядра с "новым функционалом" похудеют до размеров флэшей тех роутеров.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 13:01 
Ой, вот не надо тут сказок про заботу о потребителе. Причина тривиальна - жаба давит за размер флеш-памяти и денег на капитальный апгрейд прошивок.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Онаним , 20-Янв-14 11:51 
> а когда в роутерах перестанут наконец использовать ржавое прержавое ядро 2.6?

Уж как год назад (25th April 2013):

ATTITUDE ADJUSTMENT 12.09 / Highlights since Backfire 10.03.1:

- Switched to Kernel 3.3
- snip -


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено dalco , 20-Янв-14 13:57 
А в openwrt`шном trunk`е так и 3.10 уже.

P.S. Правда, не каждый снапшот оттуда удачен ;) Но мне _чаще всего_ везло :)


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Miha , 20-Янв-14 19:38 
>> а когда в роутерах перестанут наконец использовать ржавое прержавое ядро 2.6?
> Уж как год назад (25th April 2013):
> ATTITUDE ADJUSTMENT 12.09 / Highlights since Backfire 10.03.1:
> - Switched to Kernel 3.3
> - snip -

Ну да и теперь не меньше 32Мбайт памяти надо.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 21:41 
> а когда в роутерах перестанут наконец использовать ржавое прержавое ядро 2.6?

Используйте openwrt, там ядро не ржавое.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 15:45 
>> а когда в роутерах перестанут наконец использовать ржавое прержавое ядро 2.6?
> Используйте openwrt, там ядро не ржавое.

Не ржавое - значит нестабильное же.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Moomintroll , 20-Янв-14 09:57 
Переводчика на мыло!

> правила фильтрации компилируются в пространстве пользователя в байткод и передаются в ядро через API Netlink
> Все операции по определению условий и связанных с ними действий выполняются в пространстве пользователя, в ядре производится только базовый набор операций, таких как чтение данных из пакета, сравнение данных и т.п.

Так где же будет производиться фильтрация, в ядре или в пространстве пользователя?

Вообще что-то невнятное... Если фильтрация в пространстве пользователя, то чем она отличается от NFQUEUE и какого-нибудь демона с шахматами и поэтессами?


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 10:10 
> Так где же будет производиться фильтрация, в ядре или в пространстве пользователя?

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


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Гость , 20-Янв-14 10:16 
Это от того что вы невнимательно читаете. Правила задаются в юзерспейсе, компилируется в байткод и передается ядру, а в ядре только сравниваются байты из пакета с байтами в правилах. => Фильтрация производится в ядре.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Andrey Mitrofanov , 20-Янв-14 10:58 
>компилируется в байткод и передается ядру, а в ядре только сравниваются байты
> из пакета с байтами в правилах.

FIX: Байт-код не "сравнивается", он исполняется.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено gapsf2 , 20-Янв-14 11:11 
В userspace происходит компиляция (естественно с проверкой синтаксиса и ошибок) в байт-код для простенькой виртуальной машины, которая есть в ядре.
Виртуальная машина в ядре очень простая и имеет специфичный набор инструкций, оптимизрованный под задачи обработки пакетов (типа "загрузить в регистр байт по такому-то смещению из заголовка пакета", "сравнить регистры" и т.п.).
Но в ней нет "зашитого" кода, спецефичного для какого-либо протокола.
Т.о. из userspace в kernelspace происходит загрузка готового байт-кода (через протокол netlink), скомпилированного из вашего набора правил.
Всё остальное: все константы, структура тех или иных пакетов для различных сетевых протоколов, логика их разбора - все это вынесено в userspace-утилиты.
Т.е. kernelspace-код nftables независим от особенностей того или иного протокола и в случае добавления или изменения протокола достаточно изменить только userspace-код (логику обработки протокола).
Т.к. кода ядра nftbales протоколонезависим, то в общем устраняется необходимость писать match-расширения специально для включения в ядро (ранее это был patch-o-matic), т.к. все их можно реализовать в userspace-коде.
Т.е. для получения/обновления расширений не надо будет обновлять ядро - достаточно обновить утилиты, имеющие "на борту" новые спецификации и логику.
Насколько я смог понять, вирутальная машина - функция nft_do_chain_pktinfo
https://github.com/torvalds/linux/blob/master/net/netfilter/...

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 10:13 
Ждём появление джавы  уровня ядра. С пользовательского уровня через апи формируешь код и он выполняется на уровне ядра.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 10:20 
Для ядра NetBSD уже Lua запилили http://www.opennet.me/opennews/art.shtml?num=38203
Для Linux тоже начинали что-то похожее делать, но проект загнулся так ничего и не родив.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено цирроз , 20-Янв-14 11:09 
ничего хорошего из таких проектов и не получится

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 15:40 
> ничего хорошего из таких проектов и не получится

Ну почему? В перспективе они позволяют переписать на скриптовых языках почти все ядро, оставив на сях только интерпретатор байткода. И такое новое ядро будет возвышаться над нынешним примерно так же, как sysvinit и openrc возвышаются над системДой.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено жабабыдлокодер , 20-Янв-14 19:09 
А были проекты оси на жабе. Только вот дальше проектов дело не пошло, к сожалению... Хотя для Солариса ДЕ на ней, родимой, сделали. И работало вполне неплохо.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 21:43 
> И работало вполне неплохо.

...если Cray прикупить...


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 22:40 
>> И работало вполне неплохо.
> ...если Cray прикупить...

Человек, который любит смотреть, как резво бегают улитки, не замечает тормозов JavaOS.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено жабабыдлокодер , 20-Янв-14 22:50 
Там было два варианта, второй со второгномом. Запускал в виртуалбоксе, разницы по скорости не заметил.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 15:47 
> Там было два варианта, второй со второгномом.

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


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 04:46 
> А были проекты оси на жабе. Только вот дальше проектов дело не
> пошло, к сожалению... Хотя для Солариса ДЕ на ней, родимой, сделали.
> И работало вполне неплохо.

В солярисе Java Desktop - это такой переименованный гном. От джавы там одно название, чтобы тырпрайз клевал.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 04:45 
> sysvinit и openrc возвышаются над системДой.

Вроде, такое положение не "возвышаются" зовется, а совсем наоборот.



"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 13:07 
Есть такая штука... байт-код... в Java...

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено AlexAT , 20-Янв-14 11:12 
Как сетевика - наиболее радуют NPF и TC-BPF.

Интересно, насколько легко удастся бэкпортировать сии вкусности в ядро RH7.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено daks , 20-Янв-14 12:41 
Есть ненулевая вероятность, что шапка портирует сама, учитывая, что это не изменение, а добавление и семёрочка всё ещё в бэте.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено ua9oas , 20-Янв-14 12:02 
В состав каких дистрибутивов оно войдет? (и когда?) И прежде чем оно так куда войдет,- а как много до этого его там где-либо "прикрутят"? (а в каких случаях стоит это делать?)
Какое количество новаго оборудования оно стало поддерживать (и сколько его теперь осталось того, которое в линуксе все еще не поддерживается?)

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 12:10 
В Арче, Генте, наверное уже сегодня.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено koblin , 20-Янв-14 15:50 
в грядущей убунте (14.04) оно вроде уже есть

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 16:41 
В Федоре стопудово будет. Может даже в 19-й.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 16:52 
20-я уже на дворе ))

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 17:37 
Я имел в виду, что даже в старую 19-ю запихнут новое ведро ;)

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 19:07 
Что, прямо как в ubuntu и arch?

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 13:23 
По ссылке про Nftables первый же комментарий:

You must be joking. This got pulled in?
“Building a basic ruleset”?! Wow. The direction of Linux development never ceases to amaze me.

Собственно, такие же ощущения были.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено gapsf2 , 20-Янв-14 14:25 
По умолчанию встроенных таблиц (filter, mangle, nat...) и цепочек (INPUT, OUTPUT, FORWARD) нет - все абсолютно пусто.
Встроенных счетчиков у каждого правила нет (для увеличения производительности) - нужен счетчик - создаем явно.

# создаем таблицу filter
table filter {
        chain input {                                # создаем цепочку input
                 table filter hook input priority 0; # вставляем перехват пакета
                 ct state established accept         # разрешаем established
                 ct state related accept             # разрешаем related
                 meta iif lo accept                  # разрешаем входящий на localhost-интерфейса
                 tcp dport ssh counter packets 0 bytes 0 accept  # разрешаем SSH
                 counter packets 5 bytes 5 log drop            # для всех остальных пакетов считаем пакеты и байты, логируем и игнорируем в одном правиле
        }

        chain output {                                 # создаем цепочку output
                 table filter hook output priority 0;  # вставляем перехват пакета
                 ct state established accept           # разрешаем established
                 ct state related accept               # разрешаем related
                 meta oif lo accept                    # разрешаем исходящий с localhost- интерфейса
                 ct state new counter packets 0 bytes 0 accept  # считаем и разрешаем новые исходящие соединения
        }
}
В целом здесь все идентично iptables за исключением явного создания таблиц и цепочек, и возможности объединения нескольких вердиктов в одной команде.
Система гибкая за счет отказа от зашитости всего в ядро - поэтому все надо создать из userspace.
Естественно, что создавать таблицы и цепочки можно один раз и скорее всего в дистрибах будут скрипты базовой настройки, так что вам можно будет не заморачиваться особо.

З.Ы. Похоже что либо старый пример, либо не проверенный - не совсем соответствует синтаксису http://git.netfilter.org/nftables/tree/src/parser.y
В частности в "table filter hook output priority 0;" вроде не должно быть "table", а между всеми правилами должен быть разделитель ";"


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено vitalif , 20-Янв-14 14:36 
Ой, да нормально. Как будто iptables интуитивно понятен. Если постоянно не юзать - всё равно забываешь каждый раз, что там да как называется...

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Perain , 20-Янв-14 14:51 
По сравнению с ipfw, iptables полный выродок!

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 15:36 
Это называется "синдром утенка".

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 20-Янв-14 16:32 
> По сравнению с ipfw, iptables полный выродок!

По сравнению с bpf, ipfw ущербное говно!


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Perain , 20-Янв-14 16:35 
в этом согласен http://citrin.ru/freebsd:ng_ipfw_ng_bpf

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 20-Янв-14 17:00 
> в этом согласен http://citrin.ru/freebsd:ng_ipfw_ng_bpf

BPF нужен тем, кто пишет iptables, свои фаерволы, системы управления трафиком, и пр.
Сисадмину, и тем более хомякам, это геморрой на 5 лет вперёд по изучению и разбору
на биты всего стека IP.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Miha , 20-Янв-14 19:45 
> По сравнению с ipfw, iptables полный выродок!

Вы шутник. Для двух карт - может быть, а вот когда у вас сложная топология, то айпитаблес - лучшее решение. В ipfw per-interface acl только в прошлом году стало возможным. Так что не надо.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 20:07 
айпитаблес не может быть лучшим решением, потому что не работает под FreeBSD.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 20-Янв-14 20:46 
> айпитаблес не может быть лучшим решением, потому что не работает под FreeBSD.

Ещё один повод выкинуть BSD


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 21:45 
> потому что не работает под FreeBSD.

А что под ней вообще работает? Полторы бестолковых файловых системы, недопиленная виртуализация и пакетный манагер для галочки? Крутая система для крутых пасанов.



"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 22:04 
> потому что не работает под FreeBSD.

это не беда, ~BSD не нужно.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено user455 , 21-Янв-14 19:54 
не забуду freebsd 6, когда я сидел и день за днем разбирался с ipfw в купе с его правилами и divert к natd. сколько разбирался - не помню, но было это долго и нудно.
потом, спустя год я откырл pf и разобрался с ним за 3и часа. а потом еще пару дней игрался.
спустя еще год я открыл iptables (nf) и разобрался с ним за час. он мне показался самы клевым , удобным и логичным фаером из всех, что я видел.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 20-Янв-14 14:43 
Макс, для рандома еще вот это патчик

random: mix in architectural randomness earlier in extract_buf()
Previously if CPU chip had a built-in random number generator (i.e.,
RDRAND on newer x86 chips), we mixed it in at the very end of
extract_buf() using an XOR operation.

We now mix it in right after the calculate a hash across the entire
pool.  This has the advantage that any contribution of entropy from
the CPU's HWRNG will get mixed back into the pool.  In addition, it
means that if the HWRNG has any defects (either accidentally or
maliciously introduced), this will be mitigated via the non-linear
transform of the SHA-1 hash function before we hand out generated
output.

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g...


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 20-Янв-14 20:08 
Макс, отменяй новость, там всё опять поломали, XOR больше не нужен! :D

https://git.kernel.org/cgit/linux/kernel/git/next/linux-next...


    /*
-     * If we have a architectural hardware random number
-     * generator, mix that in, too.
+     * If we have an architectural hardware random number
+     * generator, use it for SHA's initial vector
     */
+    sha_init(hash.w);
    for (i = 0; i < LONGS(20); i++) {
        unsigned long v;
        if (!arch_get_random_long(&v))
            break;
-        hash.l[i] ^= v;
+        hash.l[i] = v;
    }

А я и говорил: XOR - палево:  http://www.opennet.me/openforum/vsluhforumID3/93572.html#61


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Sage , 20-Янв-14 21:18 
Опять с указателями балуешься, Павлуша?

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 21-Янв-14 00:11 
> Опять с указателями балуешься, Павлуша?

:-P


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 14:58 
9849 файлов?
Я думал в ядре всего один файл.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 21:46 
> Я думал в ядре всего один файл.

А еще Земля - не плоская. И солнце вокруг нее не вращается. Ща ты у нас много нового узнаешь...


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено anonymous , 20-Янв-14 15:41 
>Увеличена масштабируемость epoll на системах с большим числом CPU за счёт переработки организации блокировок. Тестирование на системе с 16 CPU показало увеличение производительности с 35k jOPS до 125k jOPS в тесте SPECjbb.

Линукс-торт!


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено vitalif , 21-Янв-14 14:15 
Показало увеличение производительности до 125к жопс...

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 20-Янв-14 15:45 

+    while (true) {
+        s64 count;
+
+        spin_lock_irq(q->queue_lock);
+        count = percpu_counter_sum(&q->mq_usage_counter);
+        spin_unlock_irq(q->queue_lock);
+
+        if (count == 0)
+            break;
+        blk_mq_run_queues(q, false);
+        msleep(10);
+    }

Вот не хорошо как-то - sleep() без причин и объяснений.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено AlexAT , 20-Янв-14 18:00 
А иначе будет spinlock contention между CPU. 1/100000 секунды слипа для избежания lock contention, если не требуется realtime-реакция - нормально.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 20-Янв-14 19:22 
Пред новым годом в USB срач был, сколько делать таймаут после ресета: 10 ms или 20  

Я не против, мож это и так, но блин можно было сделать:

#define NO_SPNLK_CONT_TMOUT (HZ/100) // иль тупа 10, но только объяснить, почему 10, а не 15
...
msleep(NO_SPNLK_CONT_TMOUT)
---

А сейчас это похоже на детские хаки в хелловордах - sleep(1),
"просто слип, хрен знает зачем, но чую подождать надо, не знаю сколько,
но навсякий случай пишу 1 сек."



"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено asavah , 20-Янв-14 19:51 
дык напиши в LKML, может примут.
я твои патчи уже на себе опробовал (для блоба ынвидии и для vmware vmnet-only на "новых" ядрах) и они очень даже нормально работают.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 21:21 
от HZ уже давно отвязались. Этот кейс и так понятен, выбирают эмпирически от балды на глаз.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 21-Янв-14 00:20 
> от HZ уже давно отвязались.

Чтоб отвязаться от HZ на машине должен быть стабильный TSC,
в ширпотребе это минимум материнки после 2012 года.
Либо нормальный RTC, с не плавающей частотой.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 21-Янв-14 11:12 
Чтобы отвязаться от HZ нужно просто отвязаться от HZ. HZ это не таймер, а метод квантования планировщика задач.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 21-Янв-14 14:55 
> Чтобы отвязаться от HZ нужно просто отвязаться от HZ. HZ это не
> таймер, а метод квантования планировщика задач.

Кванты будем по рандому генерить?


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено vitalif , 21-Янв-14 14:17 
> А сейчас это похоже на детские хаки в хелловордах - sleep(1),
> "просто слип, хрен знает зачем, но чую подождать надо, не знаю сколько,
> но навсякий случай пишу 1 сек."

Так между прочим DM работает...)))

drivers/block/md/dm-kcopyd.c:

/*
* Sleep this number of milliseconds.
*
* The value was decided experimentally.
* Smaller values seem to cause an increased copy rate above the limit.
* The reason for this is unknown but possibly due to jiffies rounding errors
* or read/write cache inside the disk.
*/
#define SLEEP_MSEC                      100


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 21-Янв-14 14:55 
>> А сейчас это похоже на детские хаки в хелловордах - sleep(1),
>> "просто слип, хрен знает зачем, но чую подождать надо, не знаю сколько,
>> но навсякий случай пишу 1 сек."
> Так между прочим DM работает...)))

Ну видишь, эти хоть честно признались. :)


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено arisu , 21-Янв-14 15:36 
> работает

ключевое слово.


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено гошт , 20-Янв-14 18:35 
HSR - это хорошо, а что с реализацией PRP (Parallel Redundancy Protocol), описанном в стандарте IEC 62439-3?

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Sylvia , 20-Янв-14 20:20 
http://storage6.static.itmages.ru/i/14/0120/h_1390234731_465...

изменения в ГСЧ забавно смотрятся на графике мунина, больше энтропии :D


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 20-Янв-14 20:51 
Прилепи вот этот патчик https://git.kernel.org/cgit/linux/kernel/git/next/linux-next...

---
И сейчас эти сисцтлины чему равны?

kernel.random.read_wakeup_threshold
kernel.random.write_wakeup_threshold


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Sylvia , 20-Янв-14 21:13 
kernel.random.read_wakeup_threshold = 64
kernel.random.write_wakeup_threshold = 896

патчить буду когда .1 выйдет, хотя наверное этот патч там уже и будет


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 20-Янв-14 23:47 
Неа, в 3.14 пойдёт, хотя мож пофиксят вот это:


-static int max_read_thresh = INPUT_POOL_WORDS * 32;
+static int max_read_thresh = OUTPUT_POOL_WORDS * 32;


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 20-Янв-14 22:49 
> Прилепи вот этот патчик https://git.kernel.org/cgit/linux/kernel/git/next/linux-next...

А что он дает?


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено pavlinux , 21-Янв-14 00:03 
>> Прилепи вот этот патчик https://git.kernel.org/cgit/linux/kernel/git/next/linux-next...
> А что он дает?

Мне - ничего, у меня RDRAND нигде нету, а у кого есть - вот тут уже рассказал:  
http://www.opennet.me/openforum/vsluhforumID3/93616.html#106

Ну и фикс

-static int max_read_thresh = INPUT_POOL_WORDS * 32;
+static int max_read_thresh = OUTPUT_POOL_WORDS * 32;


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено lucentcode , 20-Янв-14 20:33 
Хороший релиз. Особенно внедрение нового файрвола и новый блочный слой радует.

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Заоза , 21-Янв-14 00:31 
а как же закон Мура?

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Аноним , 29-Янв-14 04:05 
Подскажите, а есть ли какой-то способ начать пользоваться этой версией ядра? Есть ли какие-то очень быстрые дистрибутивы? Может быть какой-то RPM Based? А как вы вообще тестируете сами? Неужеле ставите из исходников и собираете?

"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено Andrey Mitrofanov , 29-Янв-14 09:44 
> ли какие-то очень быстрые дистрибутивы? Может быть какой-то RPM Based?

Ну, говорят, там есть make rpm. Да-да, прямо там.

> А как вы вообще тестируете сами? Неужеле ставите из исходников и собираете?


"Релиз ядра Linux 3.13. Обзор новшеств"
Отправлено arisu , 29-Янв-14 14:16 
> как вы вообще тестируете сами? Неужеле ставите из исходников и собираете?

нет, я линуса припахал. ему всё равно делать нечего. он мне сам звонит периодически и просит: «ну потестируй ядро, а то я сам не умею. я вот тебе даже собрал, ты только потестируй!»