The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Релиз ядра Linux 4.9"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз ядра Linux 4.9"  +/
Сообщение от opennews (ok) on 12-Дек-16, 00:37 
После двух месяцев разработки Линус Торвальдс представил (https://lkml.org/lkml/2016/12/11/102) релиз ядра Linux 4.9. Среди наиболее заметных изменений: средства для диагностики и блокирования переполнений стека ядра, поддержка SELinux в OverlayFS, поддержка алгоритма контроля перегрузки BBR, поддержка POSIX ACL в FUSE, механизм квот в netfilter, реализация шины Greybus.


В новую версию принято около 15 тысяч исправлений от 1400 разработчиков, размер патча - 45 Мб (изменения затронули 11042 файлов, добавлено 632157 строк кода, удалено 354728 строк). Около 42% всех представленных в 4.9
изменений связаны с драйверами устройств, примерно 19% изменений имеют
отношение к обновлению кода специфичного для аппаратных архитектур, 12%
связано с сетевым стеком, 5% - файловыми системами и 4% c внутренними
подсистемами ядра.


Основные (http://kernelnewbies.org/Linux_4.9) новшества (https://lwn.net/Articles/703779/):

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

-  В модуле FUSE, предоставляющем средства для создания файловых систем, работающих в пространстве пользователя, появилась поддержка списков контроля доступа, соответствующих POSIX ACL;

-  В файловую систему XFS добавлена поддержка совместных экстентов (shared extents), позволяющих нескольким владельцам совместно использовать сведения о диапазонах данных в файле. Данная возможность открывает двери для реализации в XFS вызова copy_file_range() и таких возможностей как дедупликация данных;
-  В NFS-сервер добавлена поддержка операции  COPY, определённой в спецификации NFS4.2 и позволяющей выполнить копирование содержимого файла без перемещения данных по сети от сервера к клиенту и обратно;


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


-  В состав ядра включена реализация предложенного компанией Google алгоритма контроля перегрузки TCP (congestion control) - BBR (Bottleneck Bandwidth and RTT), успешно применяемого для  увеличения пропускной способности и сокращения задержек передачи данных для трафика с google.com и YouTube. BBR требует внесения изменений только на стороне отправителя, программное обеспечение сетевой инфраструктуры и принимающей стороны остаётся без изменений. Вместо
использования потери пакетов как индикатора перегрузки, в BBR применяются методы моделирования канала связи, прогнозирующие имеющуюся пропускную способность через последовательные проверки и оценку времени приема-передачи (RTT), но не доводя до потери пакетов или задержек в передаче. На начальной стадии соединения BBR оценивает потолок пропускной способности канала, затем снижает интенсивность отправки для разгрузки очереди и переходит в режим корректировки, то повышая, то снижая интенсивность отправки, балансируя между максимальной пропускной способностью и незаполненностью очереди пакетов;
-  В  netfilter добавлен новый механизм "quota" с реализацией байтовых квот для правил. Также добавлен модуль для генерации случайных чисел, который можно использовать для выбора случайного назначения пакета (например, для случайного распределения по очередям);

-  Реализован новый JIT-компилятор для BPF, который может загружать программы BPF для выполнения на сетевых интерфейсах с процессорами Netronome (https://www.netronome.com/products/intelligent-server-adapte.../). В ядре 4.9 данная возможность пока используется только в модуле классификации cls_bpf;

-  Для сетевого mesh-протокола B.A.T.M.A.N. ("Better Approach To Mobile Adhoc Networking), позволяющего создавать децентрализованные сети, каждый узел в которых связан через соседние узлы, подготовлен новый механизм настройки на основе интерфейса netlink;

-  
Память и системные сервисы


-  Для архитектуры x86 добавлен (https://lwn.net/Articles/692953/) набор изменений с реализацией механизма виртуального маппинга стека ядра (CONFIG_VMAP_STACK), предоставляющего средства для определения и блокирования переполнения стека. Ожидается, что новая возможность станет серьёзным барьером для эксплуатации уязвимостей в ядре. Суть изменения в переносе стеков ядра в область vmalloc(), что позволяет сократить число операций распределения памяти, повысить безопасность и реализовать средства для диагностики выхода за границы стека. Обратной стороной использования vmalloc() для стека ядра являются дополнительные накладные расходы, вносящие задержку при создании процессов. Данную задрержку удалось минимизировать благодаря (https://lkml.org/lkml/2016/9/16/178) оптимизациям  и дополнительному кэшированию;
-  Реализованы новые системные вызовы pkey_alloc(), pkey_free() и pkey_mprotect() с реализацией (https://www.kernel.org/doc/Documentation/x86/protection-keys...) поддержки предоставляемого в будущих моделях процессоров Intel механизма PKU (Memory Protection Keys for Userspace) для обеспечения защиты страниц памяти без изменения таблицы страниц памяти;


-  Представлен новый набор файлов в /sys/kernel/irq, описывающих состав таблицы обработчиков прерываний. Новый набор позиционируется как замена /proc/interrupts,  боле простая для разбора в приложениях;

-  Добавлена опция CONFIG_DEBUG_TEST_DRIVER_REMOVE, позволяющая автоматически протестировать работоспособность выгрузки драйвера  устройства через выполнение цикла загрузки, выгрузки и опять загрузки драйвера на этапе инициализации устройства;

-  Продолжено развитие средств для  форматирования (https://kernel.org/doc/html/latest/) документации к ядру с использованием разметки  reStructuredText (https://ru.wikipedia.org/wiki/ReStructuredText) (RST) и пакета Sphinx (http://www.sphinx-doc.org/). В новой версии ядра обеспечена корректная генерация документации в формате PDF. В новом формате представлена первая порция переработанных документов  об  API для программирования драйверов (https://www.kernel.org/doc/html/latest/driver-api/index.html), а также инструментах (https://www.kernel.org/doc/html/latest/dev-tools/tools.html) для разработки ядра, особенностях процесса разработки и организации работы в сообществе;

-  В состав включена подсистема Greybus (https://lwn.net/Articles/648400/), разработанная для обеспечения взаимодействия компонентов модульного смартфона Ara (https://www.opennet.ru/opennews/art.shtml?num=39553). Greybus предоставляет внутреннюю шину для взаимодействия между аппаратными компонентами, подключаемыми по мере необходимости. В отличие от шин USB и PCIe, в Greybus предоставлена поддержка маршрутизации вызовов и приватного взаимодействия, что позволяет двум компонентам взаимодействовать друг с другом, не позволяя другим компонентам отследить данное взаимодействие. Несмотря на то, что компания Google свернула проект Ara, Greg Kroah-Hartman сумел убедить разработчиков ядра в целесообразности включения данной подсистемы в основное ядро;

-  
Виртуализация и безопасность

-  В SELinux обеспечена поддержка многослойных файловых систем, таких как OverlayFS, используемых для построения окружений для систем контейнерной изоляции;
-  В систему сборки добавлена возможность использования плагина GCC "latent_entropy", предложенного проектом grsecurity и предоставляющего средства для сбора дополнительных случайных параметров на начальном этапе загрузки для последующей инициализации энтропии для генератора случайных чисел;

-  
Оборудование

-  Поддержка систем на базе платформы Mellanox Technologies (https://en.wikipedia.org/wiki/Mellanox_Technologies);-  Поддержка процессоров Loongson 1C;
-  Поддержка контроллеров USB 3.0 Broadcom Northstar и контроллеров USB 2.0 Rockchip/Innosilicon;

URL: https://lkml.org/lkml/2016/12/11/102
Новость: https://www.opennet.ru/opennews/art.shtml?num=45662

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Релиз ядра Linux 4.9"  –10 +/
Сообщение от A.Stahl (ok) on 12-Дек-16, 00:37 
Что-то для "домашнего" пользователя в этом релизе вообще ничего интересного.
Ну и ладно. Не буду обновляться.
/me показывает язык. Бе-бе-бе.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от vektor on 12-Дек-16, 00:47 
Для домашнего пользователя есть LTS-ядро, чувак...
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Релиз ядра Linux 4.9"  +6 +/
Сообщение от A.Stahl (ok) on 12-Дек-16, 00:51 
LTS это скучно. Это удел тихо жужжащих серверов.
Там LTS-ность хороша: всё что нужно уже настроено (пусть даже и костылями, но работает), но зато можно быть уверенным, что ничего и не отвалится.
А дома хочется видеть улучшения. Чтобы всё дырчало и бурлило. Чтобы дух захватывало. Но при этом работало. Вот.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

39. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Аноним (??) on 12-Дек-16, 10:25 
Улучшения чего? У тебя дома просто нет тех нагрузок, где бы ты заметил "улучшения".
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

43. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от A.Stahl (ok) on 12-Дек-16, 11:00 
Да в чём угодно. Пусть даже в дровах. До недавних пор, на одной из машин, подключённых к роутеру через WiFi, драйвер карточки с трудом 0.5МиБ/с через себя мог пропустить. Релизов 5-6 назад скорость отличной стала. Мелочь? Но очень приятная мелочь.
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

59. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Аноним (??) on 12-Дек-16, 12:51 
>Около 42% всех представленных в 4.9 изменений связаны с драйверами устройств

О чём-то говорит?

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

108. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Аноним (??) on 12-Дек-16, 20:43 
Wifi драйверы для  Линукс - сколько слёз было пролито в этом месте и сколько прольётся ещё..
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

154. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 16-Дек-16, 20:22 
> Wifi драйверы для  Линукс - сколько слёз было пролито в этом
> месте и сколько прольётся ещё..

Не больше чем в винде. Там вообще с драйверами вафли жесть и а...й.

Ответить | Правка | ^ к родителю #108 | Наверх | Cообщить модератору

85. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 12-Дек-16, 16:47 
>Чтобы всё дырчало и бурлило. Чтобы дух захватывало

Понятненько.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

111. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от A.Stahl (ok) on 12-Дек-16, 21:04 
>Понятненько

Вот и чудненько.

Ответить | Правка | ^ к родителю #85 | Наверх | Cообщить модератору

6. "Релиз ядра Linux 4.9"  +5 +/
Сообщение от Аноним (??) on 12-Дек-16, 00:57 
Linux 4.9 и есть новое LTS ядро. По крайней мере так говорили. Что будет на деле - узнаем совсем скоро.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от rm1 email on 12-Дек-16, 01:40 
Именно, и уже давно не было, пора бы. А то до сих пор сидим на 4.4, но в принципе и не особо жужжим.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

162. "Релиз ядра Linux 4.9"  +/
Сообщение от vektor on 23-Дек-16, 00:14 
> Именно, и уже давно не было, пора бы. А то до сих
> пор сидим на 4.4, но в принципе и не особо жужжим.

Чем 4.7 не LTS? oO

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

163. "Релиз ядра Linux 4.9"  +/
Сообщение от Ilya Indigo (ok) on 23-Дек-16, 00:45 
> Чем 4.7 не LTS? oO

Тем, что оно EOL.
К.O.

Ответить | Правка | ^ к родителю #162 | Наверх | Cообщить модератору

26. "Релиз ядра Linux 4.9"  +/
Сообщение от Меломан1 on 12-Дек-16, 07:58 
Разве не 4.10 будет LTS? Кажется из-за этого Debian 9 ожидается только ближе к лету.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

27. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от ТТТ on 12-Дек-16, 08:50 
Предполагалось что 4.10 будет LTS, но Грег сообщил что ожидает 4.9 на эту роль. Но и 4.9 он может не сделать LTS, другие кандидаты 4.8 и 4.10.

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

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

34. "Релиз ядра Linux 4.9"  –3 +/
Сообщение от Меломан1 on 12-Дек-16, 09:33 
Тогда в Debian 9 будет 4.8, т.к. Ubuntu 16.04 LTS переходит на него. Мысль была, что дебианщики решили отмеживаться от Canonical.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

67. "Релиз ядра Linux 4.9"  –3 +/
Сообщение от Аноним (??) on 12-Дек-16, 14:05 
Ничего, тухлятины бояться - дебиана не ставить!
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

58. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Аноним (??) on 12-Дек-16, 12:49 
BBR, домашний пользователь не только же всё принимает, но и отправляет тоже.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

88. "Релиз ядра Linux 4.9"  +/
Сообщение от testt (ok) on 12-Дек-16, 17:24 
Для домашних пользователей надо ядро, где выпилено все ненужное.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

114. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 12-Дек-16, 22:03 
> Что-то для "домашнего" пользователя в этом релизе вообще ничего интересного.

Кроме таких мелочей как:
1) Быстрая вафля. Не со всеми чипсетами а только там где фирмварь не мешалась, т.е. ath9k и mtk76хх в основном.
2) AMDGPU поддерживает RadeonSI - обладатели "старых" GCN могут и покамикадзить и погонять вулкан (и открытый и из замены каталиста)

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

12. "Релиз ядра Linux 4.9"  +/
Сообщение от vitalikp on 12-Дек-16, 02:21 
>Вместо использования потери пакетов как индикатора перегрузки, в BBR применяются >методы моделирования канала связи, прогнозирующие имеющуюся пропускную >способность через последовательные проверки и оценку времени приема-передачи >(RTT), но не доводя до потери пакетов или задержек в передаче.

Интересно. То есть раньше считали по потерянным пакетам, то сейчас считают с какой скоростью дошел пакет до получателя. Каждый отправленный пакет может корректировать скорость канала в большую или меньшую сторону. Если пакет пришел очень быстро, то и скорость по идее должна достаточно быстро увеличится.
Интересно было бы глянуть на сравнительные тесты до и после.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Ivan_83 email(ok) on 12-Дек-16, 03:57 
По идее hybla примерно так же работает.
Но собственно помимо RTT потери всё равно нужно учитывать ибо не везде стоят шейперы, кое где и полисеры или же банально полка порта что практически тоже самое - дропы.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

55. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от Аноним (??) on 12-Дек-16, 12:09 
Есть две характеристики канала: пропускная способность и задержка. То, что обычно называют скоростью (MB/s) — пропускная способность канала. А время доставки одного бита от отправителя до получателя — задержка.

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

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

61. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Аноним (??) on 12-Дек-16, 13:03 
http://queue.acm.org/detail.cfm?id=3022184

держите

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

21. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Аноним (??) on 12-Дек-16, 05:57 
Как там проблема с OOM-killer? Исправили?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от X2asd (ok) on 12-Дек-16, 09:14 
А что с ним? Не срабатывает? :-)
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

31. "Релиз ядра Linux 4.9"  +/
Сообщение от Ilya Indigo (ok) on 12-Дек-16, 09:18 
> А что с ним? Не срабатывает? :-)

https://bugzilla.opensuse.org/show_bug.cgi?id=985233
Автоматически нет. Только вручную Alt+SysRq+F

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

33. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 12-Дек-16, 09:20 
> https://bugzilla.opensuse.org/show_bug.cgi?id=985233
> Автоматически нет. Только вручную Alt+SysRq+F

Нет, это не та проблема, о которой я говорил.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

37. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от 1 (??) on 12-Дек-16, 09:57 
Там тебе сказали, что ты забиваешь всю память tmpfs-ами, настраивай лимиты
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

38. "Релиз ядра Linux 4.9"  +/
Сообщение от Ilya Indigo (ok) on 12-Дек-16, 10:20 
> ты забиваешь всю память tmpfs-ами

Это не совсем так.
на tmpfs уходит максимум, в худшем случае при 7z, половина. Система + Firefox + 7z a -mx=9 от 2GB
Но при make -j4 Система + Firefox + make -j4 от 2,5GB
в tmpfs максимум 0.5GB, и остальная оператива съедается именно процессами gcc, причём иногда потребление возрастает резко и неожиданно.
P.S. Firefox, как и Skype и qBitorrent я отключаю при компиляции, но иногда забываю.
Но факт в том, что OOM Killer, таки, не срабатывает, а на момент написания рапорта он даже вручную не срабатывал, но все мне говорят про отсутствие swap и про наличие tmpfs, мол если отсутствует swap и присутствует tmpfs OOM Killer вообще работать не обязан.

> настраивай лимиты

Как, где и какие именно лимиты?
У меня /tmp лимит в 1,9GB от 3,9GB и понижать его не охота.
А как настраивать пороги срабатывания OOM Killer?

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

57. "Релиз ядра Linux 4.9"  +/
Сообщение от ILoveIslam on 12-Дек-16, 12:37 
> У меня /tmp лимит в 1,9GB от 3,9GB и понижать его не охота.

Так отпиши это в багтрекере, из тех коментов это не понятно.

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

81. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Michael Shigorin email(ok) on 12-Дек-16, 16:38 
> У меня /tmp лимит в 1,9GB от 3,9GB и понижать его не охота.

При таких лимитах и процессах и впрямь стоит памяти добить по возможности...

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

90. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от Mihail Zenkov (ok) on 12-Дек-16, 17:28 
Но это не решит проблему, а лишь ее отодвинет на некоторый срок.
Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

95. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Mihail Zenkov (ok) on 12-Дек-16, 17:43 
> Но факт в том, что OOM Killer, таки, не срабатывает, а на
> момент написания рапорта он даже вручную не срабатывал, но все мне
> говорят про отсутствие swap и про наличие tmpfs, мол если отсутствует
> swap и присутствует tmpfs OOM Killer вообще работать не обязан.

Проверил у себя - 4G общая, 3G - лимит tmpfs, свопа нет. Все точно так как вы описываете: система в ступоре, мышка тормозит, при этом наблюдается нездоровая активность hdd, хотя все действия происходят на /tmpfs. Ядро 4.4.24. Alt + SysRq + F помогает.

Это явно баг. Даже если уменьшить tmpfs до минимума - все равно проблема не решится - так как OOM Killer не будет срабатывать.

Насколько я понимаю ситуацию, содержимое tmpfs отмечается как "cached". При окончании свободной памяти содержимое tmpfs вытесняется в своп. Если своп отключен или его не хватит для всего содержимого tmpfs, то OOM Killer не сработает, так как видит, что cached все еще есть и он ждет его вытеснения из памяти.

ИМХО это крайне неверное поведение, так как все системы с tmpfs заполоненной больше, чем свободный swap, будут впадать в аналогичный ступор.

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

106. "Релиз ядра Linux 4.9"  +/
Сообщение от Адепт on 12-Дек-16, 19:41 
Примерно тоже самое со свопом и маленьким vm.swappiness
Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

107. "Релиз ядра Linux 4.9"  +/
Сообщение от Ilya Indigo (ok) on 12-Дек-16, 19:52 
Спасибо за проверку. Переведу это на английский и отправлю в багзилу ядра.
https://bugzilla.kernel.org/show_bug.cgi?id=190151
Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

131. "Релиз ядра Linux 4.9"  +/
Сообщение от Mihail Zenkov (ok) on 13-Дек-16, 14:47 
Баг не так прост, как мне изначально казалось. Вчера я смог воспроизвести его с первой попытки. Сегодня сделал 7-8 попыток и не смог воспроизвести ни разу (в системе ничего не менял, проверял тем же методом, что и вчера) - всегда срабатывает killer.

У вас этот баг всегда воспроизводится?

Ответить | Правка | ^ к родителю #107 | Наверх | Cообщить модератору

132. "Релиз ядра Linux 4.9"  +/
Сообщение от Ilya Indigo (ok) on 13-Дек-16, 15:17 
> У вас этот баг всегда воспроизводится?

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

n=eiskaltdcpp && cd /tmp && git clone git://github.com/$n/$n.git && cd $n && F="-march=native -msse3 -O3 -fomit-frame-pointer -pipe -DNDEBUG" && cmake -LA -DCMAKE_C_FLAGS_RELEASE="$F" -DCMAKE_CXX_FLAGS_RELEASE="$F" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=lib64 -DUSE_ASPELL=ON -DWITH_SOUNDS=ON -DUSE_MINIUPNP=ON -Dlinguas="en ru" && make -j4 && sudo make install && cd .. && rm -rf $n

С включенным firefox.

Да, результат ожидаемый. Где-то на 10% сборки память исчерпалась, радует что при этом mpd безотказно продолжает играть. :-)
Подождал 3 минуты, ничего не произошло. Однократное нажатие Alt+SysRq+F убило один из cc1plus, даже не тронув firefox, и сборка проекта пошла дальше.

P.S. Если захотите повторить мой метод, то вам будут нужны следующие пакеты.

sudo zypper in git cmake zlib-devel libbz2-devel libopenssl-devel boost-devel libattr-devel libminiupnpc-devel gettext-tools aspell-devel libidn-devel libQt5Xml-devel libQt5Network-devel libqt5-linguist-devel libqt5-qtmultimedia-devel libQt5Concurrent-devel libQt5DBus-devel

Ответить | Правка | ^ к родителю #131 | Наверх | Cообщить модератору

133. "Релиз ядра Linux 4.9"  +/
Сообщение от Mihail Zenkov (ok) on 13-Дек-16, 16:37 
С компиляцией c++ кода лучше воспроизводится (частично занял tmpfs, а затем компилировал boost в 4 потока в tmpfs).

Но у меня обычно автоматически убивается 1-3 процесса. Иногда после этого система оживает, но в большинстве случаев глухо замирает (тормозит мышка, conky не обновляется), только hdd активно трещит. После нажатия Alt+SysRq+F система оживает.

Ответить | Правка | ^ к родителю #132 | Наверх | Cообщить модератору

134. "Релиз ядра Linux 4.9"  +/
Сообщение от Ilya Indigo (ok) on 13-Дек-16, 16:41 
> С компиляцией c++ кода лучше воспроизводится (частично занял tmpfs, а затем компилировал
> boost в 4 потока в tmpfs).
> Но у меня обычно автоматически убивается 1-3 процесса. Иногда после этого система
> оживает, но в большинстве случаев глухо замирает (тормозит мышка, conky не
> обновляется), только hdd активно трещит. После нажатия Alt+SysRq+F система оживает.

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

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

Ответить | Правка | ^ к родителю #133 | Наверх | Cообщить модератору

137. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Mihail Zenkov (ok) on 13-Дек-16, 16:56 
> Отпишите, пожалуйста, про это в багзилу

Хорошо, но позже: хочу лучше понять суть проблемы. Возможно, попробую глянуть исходники ядра и попытаюсь понять/исправить логику принятия решения о запуске OOM Killer.

Ответить | Правка | ^ к родителю #134 | Наверх | Cообщить модератору

138. "Релиз ядра Linux 4.9"  +/
Сообщение от Ilya Indigo (ok) on 13-Дек-16, 17:00 
>> Отпишите, пожалуйста, про это в багзилу
> Хорошо, но позже: хочу лучше понять суть проблемы. Возможно, попробую глянуть исходники
> ядра и попытаюсь понять/исправить логику принятия решения о запуске OOM Killer.

Хорошо, спасибо. :-)

Ответить | Правка | ^ к родителю #137 | Наверх | Cообщить модератору

115. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Аноним (??) on 12-Дек-16, 22:17 
> Все точно так как вы описываете: система в ступоре, мышка тормозит,
> при этом наблюдается нездоровая активность hdd, хотя все действия происходят на
> /tmpfs. Ядро 4.4.24. Alt + SysRq + F помогает.

А хотите guess того что там скорее всего творится? IIRC, в ядре есть механизм когда при нехватке памяти - можно просто выбросить страницы из памяти. Если их можно потом подчитать с диска. Актуально для исполняемых файлов процессов и либ.

И вот наступает душняк памяти. Ядро начинает агрессивно выкидывать такие страницы. А потом - блин, страницы же нужны для выполнения процессов, оказывается. Начинается подчитывание назад. Процессы встают колом пока их страницы читаются. "Computer is thrashing". Интересно, этот механизм как-нибудь можно отключить? Экономия на спичках путем выкраивания крох таким манером приводит к совершенно невменяемым тормознякам.

Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

136. "Релиз ядра Linux 4.9"  +/
Сообщение от Mihail Zenkov (ok) on 13-Дек-16, 16:47 
> А хотите guess того что там скорее всего творится? IIRC, в ядре
> есть механизм когда при нехватке памяти - можно просто выбросить страницы
> из памяти. Если их можно потом подчитать с диска. Актуально для
> исполняемых файлов процессов и либ.

Вероятно так и есть. Есть идеи как это отследить/проверить? Или как это механизм правильно называется, дабы гугол спросить или исходники ядра поковырять?

Ответить | Правка | ^ к родителю #115 | Наверх | Cообщить модератору

143. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от Аноним (??) on 14-Дек-16, 22:13 
> Вероятно так и есть. Есть идеи как это отследить/проверить?

Самое очевидное что в голову приходит:
1. echo 1 > /proc/sys/vm/block_dump
2. вызвать проблему
3. вырубить все это, иначе утонете в флуде (echo 0 > /proc/sys/vm/block_dump)

И посмотреть в буфере dmesg кто и зачем трогал диск. Если я угадал - там будет весьма широкий ассортимент executables и shared libs, которым резко потребовалось вернуть страницы на место потому что исполнение встряло. Учтите что флуд может быть довольно крутой и что забавнее, если у вас был логгер - он будет логгить в том числе и свои записи, по поводу чего даже в 100% idle системе может случайно кончиться место на диске под ядерным логом.

> Или как это механизм правильно называется, дабы гугол спросить или исходники
> ядра поковырять?

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

Навскидку как-то так нашлось:
http://www.gossamer-threads.com/lists/linux/kernel/237239
https://www.quora.com/When-swapping-is-disabled-does-the-ker...

Ответить | Правка | ^ к родителю #136 | Наверх | Cообщить модератору

145. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Mihail Zenkov (ok) on 14-Дек-16, 23:22 
> Самое очевидное что в голову приходит:
> 1. echo 1 > /proc/sys/vm/block_dump

Интересная возможность, не знал о ней. Но в данной ситуации не подошло: там появляется только то, что читает сам процесс и часто просто в виде "READ block 2360868 on sda7 (2 sectors)", что совершенно не дает информации, что он там прочел.

Нужно исходники ядра смотреть.

Ответить | Правка | ^ к родителю #143 | Наверх | Cообщить модератору

146. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Аноним (??) on 15-Дек-16, 02:40 
> Интересная возможность, не знал о ней. Но в данной ситуации не подошло:
> там появляется только то, что читает сам процесс и часто просто

В линуксе есть немного встроенного filemon'а :)

> в виде "READ block 2360868 on sda7 (2 sectors)", что совершенно
> не дает информации, что он там прочел.

Эээ там в нормальном виде еще как минимум процесс указан. Как-то так:
[521735.816358] mc(19793): READ block 265453148 on sda1 (32 sectors)

Хотя именно по файлам таки действительно нет, зато название и pid offender'а извлечь можно.

> Нужно исходники ядра смотреть.

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

Ответить | Правка | ^ к родителю #145 | Наверх | Cообщить модератору

151. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Mihail Zenkov (ok) on 15-Дек-16, 19:02 
Продолжаю изучение. Нашел интересную утилиту https://hoytech.com/vmtouch/
Сам процесс освобождения памяти называется Page Reclaim, хорошо описан в Professional Linux Kernel Architecture:

"If a page is backed by a file but cannot be modified in memory (e.g., binary
executable data), then it can be discarded if it is currently not required."

В общем ясно направление, но пока не уверен что осилю - довольно сложная система.

Ответить | Правка | ^ к родителю #146 | Наверх | Cообщить модератору

155. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 16-Дек-16, 23:29 
> Продолжаю изучение. Нашел интересную утилиту https://hoytech.com/vmtouch/

Забавная штука, но мне самому был бы актуальнее реалтаймный трейс IO, имхо.

> Сам процесс освобождения памяти называется Page Reclaim, хорошо описан

Я это видел где-то в районе lwn наверное, ну и запомнил.

> В общем ясно направление, но пока не уверен что осилю - довольно сложная система.

Может помощь зала попросить? В смысле линуксных ядерщиков. На предмет того можно ли эту бяку отключить.

А так придумался гнусный системный хак:
1) Грузим например свою либу всем процессам, через нечто типа LD_PRELOAD
2) Фигачим из нее mlockall() [в каждом процессе как результат такой диверсии] :)

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

Ответить | Правка | ^ к родителю #151 | Наверх | Cообщить модератору

127. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 13-Дек-16, 11:20 
Почему так происходит при отсутствии swap понятно, есть всего два варианта как решить проблему:
1. Добавить таки swap небольшого размера.
2. Зарезервировать память под OOM Killer( и некоторые системные ресурсы, нужные для определения того, кого рубить )

Резервировать ресурсы похоже не планируется ( не верный путь? ), вы по идее можете самостоятельно их зарезервировать создав swap в ramdrive :) ( вроде так можно )

Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

135. "Релиз ядра Linux 4.9"  +/
Сообщение от Mihail Zenkov (ok) on 13-Дек-16, 16:44 
> 1. Добавить таки swap небольшого размера.

Попробовал - не помогает.

> 2. Зарезервировать память под OOM Killer( и некоторые системные ресурсы, нужные для
> определения того, кого рубить )

ИМХО ядро всегда для себя держит резерв памяти. Да и для пользовательских процессов тоже есть резерв по-умолчанию (/proc/sys/vm/admin_reserve_kbytes и user_reserve_kbytes).

Ответить | Правка | ^ к родителю #127 | Наверх | Cообщить модератору

144. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 14-Дек-16, 22:20 
> Попробовал - не помогает.

Не поможет. Как я понимаю даже если своп убрать, каждый файл бинаря - такой себе мини-своп. Так что ядро может выкинуть страницы а потом оттуда их прочитать.

Ответить | Правка | ^ к родителю #135 | Наверх | Cообщить модератору

124. "Релиз ядра Linux 4.9"  +/
Сообщение от Адепт on 13-Дек-16, 06:48 
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/159356
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

122. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Анонимный Алкоголик (??) on 13-Дек-16, 02:55 
>> А что с ним? Не срабатывает? :-)
> https://bugzilla.opensuse.org/show_bug.cgi?id=985233
> Автоматически нет. Только вручную Alt+SysRq+F

Подозреваю, что речь о том, что не убиваются процессы, занявшие память и которые вы считаете должны быть убиты. Но то, что вы считаете, что какие-то процессы должны быть убиты OOM Killer, не значит, что именно они должны быть им убиты. OOM Killer не может даже догадываться о ваших пожеланиях. В случае с tmpfs убивать даже некого.
Занявший всю память без всякой пользы процесс вполне может продолжать её занимать, при том, что более полезные и требующие совсем немного памяти процессы будут убиты. В общем вопрос полезности работы тех или иных процессов - это ваше дело.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

126. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Mihail Zenkov (ok) on 13-Дек-16, 10:03 
В этой ситуации (с tmpfs и без swop) OOM Killer вообще не вызывается. При ручном вызове OOM Killer (Alt+SysRq+F) - killer работает: находит подходящий процесс и убивает.

> В случае с tmpfs убивать даже некого.

Под tmpfs выделено 50% памяти, а значит в оставшейся памяти есть процессы и есть кого убить.

Ответить | Правка | ^ к родителю #122 | Наверх | Cообщить модератору

128. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от Аноним (??) on 13-Дек-16, 11:32 
> В этой ситуации (с tmpfs и без swop) OOM Killer вообще не
> вызывается. При ручном вызове OOM Killer (Alt+SysRq+F) - killer работает: находит
> подходящий процесс и убивает.
>> В случае с tmpfs убивать даже некого.
> Под tmpfs выделено 50% памяти, а значит в оставшейся памяти есть процессы
> и есть кого убить.

OOM Killer-у банально не хватает памяти что-бы вычислить кого грохать, проблеме "сто лет" последнее время просто чаще стали появляться удивительные конфигурации с 2Гб оперативки и отсутсвием swap( из-за ssd ), именно разное время выделения памяти в условном swap-е и ram даёт шан OOM-Killer-у запуститься и успеть "понять" что рубить.

А так у меня эта проблема вылазила при 16Гб оперативки и отключенном swap-е и на vds с 4Гб и без swap-а ещё наверное до 3.х версий ядра, в итоге и там и там появились условные swap-ы по 1Гб, которые в linux-е почти всегда не используются.

Ответить | Правка | ^ к родителю #126 | Наверх | Cообщить модератору

130. "Релиз ядра Linux 4.9"  +/
Сообщение от Mihail Zenkov (ok) on 13-Дек-16, 14:01 
> OOM Killer-у банально не хватает памяти что-бы вычислить кого грохать

Еще раз: OOM Killer работает при нажатии Alt+SysRq+F. Не работает автоматический запуск OOM Killer, так как ядро считает, что пока весь кэш не вытеснен, звать киллера не нужно.

Ответить | Правка | ^ к родителю #128 | Наверх | Cообщить модератору

129. "Релиз ядра Linux 4.9"  +/
Сообщение от Ilya Indigo (ok) on 13-Дек-16, 12:54 
>>> А что с ним? Не срабатывает? :-)
>> https://bugzilla.opensuse.org/show_bug.cgi?id=985233
>> Автоматически нет. Только вручную Alt+SysRq+F
> Подозреваю, что речь о том, что не убиваются процессы, занявшие память

Спасибо, в openSUSE с этим мне повезло. Убивается всегда firefox+7z или firefox+cpp (причём 1 из 4-ёх cpp), хотя остальные 3 без 4-ого всё равно мне не нужны и я потом убиваю и их.
> которые вы считаете должны быть убиты.

А чего не понятного? При исчерпании ОЗУ самые прожорливые процессы должны быть прибиты, причём автоматически, а не только вручную.
> В случае с tmpfs убивать даже некого.

Вы не правы.

вы хоть свою ОСЬ и ядро назовите. Не удивлюсь что гентушник, хотя думаю что у вас 6-ая сентось.

Ответить | Правка | ^ к родителю #122 | Наверх | Cообщить модератору

32. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Аноним (??) on 12-Дек-16, 09:19 
Наоборот. В 4.7 и 4.8 (не знаю насчёт 4.9 - об этом и спрашиваю) он постоянно срабатывает несмотря на то, что своп практически свободен.
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

29. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Ilya Indigo (ok) on 12-Дек-16, 09:13 
> Для DRM-драйвера (Direct Rendering Manager) Nouveau не отмечено изменений.

Печаль. :-(

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

35. "Релиз ядра Linux 4.9"  –8 +/
Сообщение от фыва2 on 12-Дек-16, 09:44 
После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 4.9.
После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 4.8.
После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 4.7.

кондуктор не спеши....или кондуктор хочет нагнать хром??


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

45. "Релиз ядра Linux 4.9"  +9 +/
Сообщение от Аноним (??) on 12-Дек-16, 11:21 
кондуктор не спешит, кондуктор понимает
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

36. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним email(??) on 12-Дек-16, 09:52 
Щас поналетят багов и лтс перенесут на 4.12.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

40. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Аноним (??) on 12-Дек-16, 10:47 
> В новом формате представлена первая порция переработанных документов об API для программирования драйверов

давайте коллективно поможем исправить глупые помментарии в коде ядра:

void atomic_set(atomic_t * v, int i)

atomic_t * v; // pointer of type atomic_t

Что это за масло масляное. Предлагаю

atomic_t * v; // the modifying atomic variable

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

84. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Michael Shigorin email(ok) on 12-Дек-16, 16:42 
> давайте коллективно поможем исправить глупые помментарии в коде ядра:
> Что это за масло масляное. Предлагаю
> atomic_t * v; // the modifying atomic variable

Умные комментарии поясняют неочевидный контекст (или намерение) обычно...

Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

44. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Аноним (??) on 12-Дек-16, 11:19 
Интересно, эти баги исправили?
https://habrahabr.ru/company/pvs-studio/blog/317374/
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

46. "Релиз ядра Linux 4.9"  –3 +/
Сообщение от Вареник on 12-Дек-16, 11:32 
>>  размер патча - 45 Мб

- Поддержка 32 разрядных систем скоро закончится естесственным образом - размер плоского ванильного ядра перевалит за 4 гига.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

62. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Аноним (??) on 12-Дек-16, 13:29 
Ладно бы, чего остроумного сказал. Так нет, в одном единственном предложении куча неверных предпосылок и неточностей. Что за "плоское" ядро? Сравниваешь исходники и размер исполняемого файла? Даже если просто сравнить два числа - 45 и 4,000 - можно заметить, что они отличаются почти в 100 раз, и речь о том, что "45" почти уже как "4000" не идет.
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

91. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Аноним (??) on 12-Дек-16, 17:28 
ну он и сравнил 45 и 4, только с размерностями обдристался
Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

48. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от A on 12-Дек-16, 11:43 
12309 в очередной раз поправили?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

49. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от captain on 12-Дек-16, 11:49 
Давно. Купив SSD-накопители.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

52. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от Аноним (??) on 12-Дек-16, 11:54 
Так и есть, хотя за последние 5 лет 12309 стал ещё менее заметным на HDD, но окончательно помогли только SSD.
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

65. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 12-Дек-16, 13:52 
Я и пять лет назад ничего подобного не наблюдал.
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

60. "Релиз ядра Linux 4.9"  +/
Сообщение от A on 12-Дек-16, 12:53 
Фиксить баги путем приобретения железа? Причем, приобретение возлагается на пользователя? Ты в своем уме?
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

63. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от captain on 12-Дек-16, 13:37 
life is pain.
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

69. "Релиз ядра Linux 4.9"  –5 +/
Сообщение от A on 12-Дек-16, 14:05 
Это в мире луникса такая спец. олимпиада стартовала, что ли? Дисциплина: "кто больше софтверных багов обойдет путем более мощного железа"? Где смотреть победителей? Трансляции есть?
Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

72. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от Аноним (??) on 12-Дек-16, 14:51 
>Где смотреть победителей? Трансляции есть?

Есть, но на твоём по жизни бэушном железе не пойдут.

Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

125. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 13-Дек-16, 08:07 
У тех, у кого эти железки есть либо сами пишут патчи, либо, если не умеют, на багтрекер, где эти баги исправляют. Не вижу проблем.
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

73. "Релиз ядра Linux 4.9"  +/
Сообщение от AlexAT (ok) on 12-Дек-16, 14:52 
82801AB (и производные) своё отжил, 12309 кончился почти полностью вместе с ним.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

78. "Релиз ядра Linux 4.9"  +/
Сообщение от A on 12-Дек-16, 15:46 
00:1f.2 SATA controller [0106]: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] [8086:9c03] (rev 04)

Это он?

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

98. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Mihail Zenkov (ok) on 12-Дек-16, 17:54 
> 82801AB (и производные) своё отжил, 12309 кончился почти полностью вместе с ним.

Он был и с другим железом. У себя полностью победил отказом от свопа много лет назад.
Зато иногда стал проявлятся другой баг: https://bugzilla.kernel.org/show_bug.cgi?id=65201

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

116. "Релиз ядра Linux 4.9"  +/
Сообщение от anomymous on 12-Дек-16, 22:23 
Не знаю. Я встречал только на 82801 и ещё какой-то старой AMD'шной хрени, потом на новых Intel и начиная с AMD 790 не встречал.


Ответить | Правка | ^ к родителю #98 | Наверх | Cообщить модератору

119. "Релиз ядра Linux 4.9"  +/
Сообщение от Mihail Zenkov (ok) on 12-Дек-16, 22:33 
IIRC также было на via и nforce.
Ответить | Правка | ^ к родителю #116 | Наверх | Cообщить модератору

148. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 15-Дек-16, 07:57 
> IIRC также было на via и nforce.

Конкретно 12309 был на чем угодно, при условии что это медленный накопитель. Там проблема была в том что ядро выращивало огромный буфер. А при попытке программ выделить память оно пыталось его урезать и выдавливало на диск. Если диск был тормозной - программы начинали становиться колом ожидая пока кернел сможет им память дать. Они взяли да и затвикали кернел чтобы не отращивал большой буфер для медленных носителей. И теперь тупняки в такой ситуации кардинально меньше.

А если это не то - тогда это не 12309.

Ответить | Правка | ^ к родителю #119 | Наверх | Cообщить модератору

102. "Релиз ядра Linux 4.9"  +/
Сообщение от НовыйЮзер (ok) on 12-Дек-16, 18:57 
> 12309 в очередной раз поправили?

Пользуюсь где-то с 2003 года линуксом не разу не встречал... железа всякого на работе было много и разнообразного...

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

50. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 12-Дек-16, 11:49 
>> .. Линус Торвальдс представил ...

как у него голова еще варит такую кучищу кода разгребать
столько различных аспектов, технологий, файловых систем, особенностей железа

понятно, что не один патчи проверяет, но все же. мегамозг

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

51. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 12-Дек-16, 11:52 
Как для меня - это один из лучших примеров делегирования задач. Финский расовый швед умеет масштабироваться!
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

159. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от Аноним (??) on 16-Дек-16, 23:42 
> как у него голова еще варит такую кучищу кода разгребать
> столько различных аспектов, технологий, файловых систем, особенностей железа

Ну вот так.
- Раздал подсистемы майнтайнерам, которые за них и отвечают.
- Запилил git, теперь масштабироваться может кто угодно.

> понятно, что не один патчи проверяет, но все же. мегамозг

Мегамозг придумал как себя разгрузить и повысить свою эффективность, оставив себе общую координацию процесса вместо ворочания ломовых объемов самому.

Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

53. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Аноним (??) on 12-Дек-16, 11:56 
>В драйвер AMDGPU добавлена экспериментальная поддержка семейства GPU Southern Islands на базе микроархитектуры GCN 1.0

А GCN 1.1 так и не будет поддерживаться? Интересненько.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

66. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 12-Дек-16, 13:57 
С чего вы взяли?
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

160. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 16-Дек-16, 23:43 
> А GCN 1.1 так и не будет поддерживаться? Интересненько.

Они там экспериментально поддерживаются уже несколько версий к ряду...

Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

64. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Аноним (??) on 12-Дек-16, 13:50 
А оно в убунту 16.10 приедет или из ппа ставить?
У меня как раз карточка GCN 1.0
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

68. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 12-Дек-16, 14:05 
Когда уже поддержку Cherry Trail завезут?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

80. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от 123 (??) on 12-Дек-16, 16:14 
А Bay Trail уже все завезли?
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

83. "Релиз ядра Linux 4.9"  –2 +/
Сообщение от Любитель интела on 12-Дек-16, 16:40 
уже пора выносить, ибо труп
Ответить | Правка | ^ к родителю #80 | Наверх | Cообщить модератору

164. "Релиз ядра Linux 4.9"  +/
Сообщение от Анонс on 24-Дек-16, 04:35 
А что с вишенкой?
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

70. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от asand3r on 12-Дек-16, 14:09 
>В NFS-сервер добавлена поддержка операции COPY, определённой в спецификации NFS4.2 и позволяющей выполнить копирование содержимого файла без перемещения данных по сети от сервера к клиенту и обратно;

Поясините, пожалуйста - как это работает? Что значит "выполнить копирование, не перемещая данные по сети"?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

71. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от captain on 12-Дек-16, 14:36 
наверное

cp /mnt/nfs/dir1/file.tar /mnt/nfs/dir2/file.tar

так чтобы всё на стороне сервера.

Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

74. "Релиз ядра Linux 4.9"  +/
Сообщение от AlexAT (ok) on 12-Дек-16, 14:53 
>>В NFS-сервер добавлена поддержка операции COPY, определённой в спецификации NFS4.2 и позволяющей выполнить копирование содержимого файла без перемещения данных по сети от сервера к клиенту и обратно;
> Поясините, пожалуйста - как это работает? Что значит "выполнить копирование, не перемещая
> данные по сети"?

COPY server1:/path1/file1 server1:/path2/file2

Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору

75. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от manster (ok) on 12-Дек-16, 15:00 
ожидаемо:

- быстрый swap и его сброс через "swapoff -a ; swapon -a"

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

- эмуляция старых 2.6+ (нужно например старье запускать в современном окружении)

- быстрая отзывчивость с небольшим RAM, а то после очередного обновления в генте chromium: слишком долгий разогрев

- генерация текущего конфига ядра для нового ядра (если такое уже есть то извиняюсь)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

82. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от Леха on 12-Дек-16, 16:39 
Swap на данный момент обладает приемлемой скоростью. Обновление ядра без перезагрузки уже сегодня можно делать, надо лишь воспользоваться соответствующий технологией. Эмуляцию старый ядер версий 2.6 в современном окружении никто в здравом уме делать не будет, так как это потребует большого количество затрат в человека-часах и в обильных финансовых вливаниях. Намного дешевле адаптировать необходимый софт для работы под современные условия. Быстрая отзывчивость при небольшом размере RAM в принципе не возможна, как не крутить софт будет swap`паться, сжимание памяти в памяти (тавтология) все это и другое требуют ресурсов и времени. Оптимизировать можно конечно, но стоит ли оно тех усилий и средств. Вопрос экономической целесообразности. Копируйте текущий конфиг ядра и используйте его с соответствующими правками в новом ядре.    
Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

86. "Релиз ядра Linux 4.9"  +2 +/
Сообщение от arsenicum (??) on 12-Дек-16, 16:55 
> - генерация текущего конфига ядра для нового ядра (если такое уже есть то извиняюсь)

make oldconfig

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

109. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от AnotherReality (ok) on 12-Дек-16, 20:45 
" эмуляция старых 2.6+ (нужно например старье запускать в современном окружении)"
актуально ли?
Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

147. "Релиз ядра Linux 4.9"  –2 +/
Сообщение от Аноним (??) on 15-Дек-16, 07:54 
> - быстрый swap и его сброс через "swapoff -a ; swapon -a"

Купи себе SSD если не западло его свапом протирать. А лучше почитай про zram, полезная штука если памяти мало. Это такой своп прямо в оперативку. Пойнт в том что он со сжатием :)

> - обновление ядра без перезагрузки - модули можно подгружать в курсе

Сделано. Но, правда, патчи кто-то должен генерить и есть ограничения.

> - эмуляция старых 2.6+ (нужно например старье запускать в современном окружении)

Пользуйся каким-нибудь RH6, получишь желаемое.

> - быстрая отзывчивость с небольшим RAM, а то после очередного обновления в
> генте chromium: слишком долгий разогрев

Chromium вообще совсем не сделан под мелкую оперативку.

> - генерация текущего конфига ядра для нового ядра (если такое уже есть то извиняюсь)

Баян, подпихнуть какой там тебе надо конфиг ни разу не вопрос. Но новые вопросы которых не было в предыдущем ядре он таки спросит.

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

79. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 12-Дек-16, 16:01 
А сколько процентов изменений от Microsoft?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

97. "Релиз ядра Linux 4.9"  +/
Сообщение от Andrey Mitrofanov on 12-Дек-16, 17:45 
> А сколько процентов изменений от Microsoft?

0.0%.

Прямо вот с https://www.opennet.ru/openforum/vsluhforumID3/108941.html#184 2011-го.

Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

165. "Релиз ядра Linux 4.9"  +/
Сообщение от Анонс on 24-Дек-16, 04:38 
> А сколько процентов изменений от Microsoft?

Несколько. А вы с какой целью интересуетесь?

Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

104. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от slm33 (ok) on 12-Дек-16, 19:34 
С этой версией ядра наконец-то запускаются игры без графических артефактов на R7 m260, но производительность почему-то хуже чем на встроенной карточке (
AMD A8-6410 APU), запускаю через терминал командой DRI_PRIME=1, может я что-то не так делаю? Первый раз имею дело с гибридной графикой.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

105. "Релиз ядра Linux 4.9"  +/
Сообщение от slm33 (ok) on 12-Дек-16, 19:36 
При том куллер намного сильнее шумит
Ответить | Правка | ^ к родителю #104 | Наверх | Cообщить модератору

112. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 12-Дек-16, 21:56 
Драйвера, драйвера то какие? с amdgpu-pro должно стать лучше.
Ответить | Правка | ^ к родителю #105 | Наверх | Cообщить модератору

118. "Релиз ядра Linux 4.9"  +/
Сообщение от slm33 (ok) on 12-Дек-16, 22:28 
Открытые. Наверно всё на amd-gpu крутится, я не сильно в этом шарю.
Ответить | Правка | ^ к родителю #112 | Наверх | Cообщить модератору

123. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от JL2001 email(ok) on 13-Дек-16, 03:15 
почему ставят такие дефолты ?
CONFIG_DRM_AMDGPU_SI=y
# CONFIG_DRM_AMDGPU_CIK is not set

CONFIG_DRM_AMDGPU_CIK же давно появился и должен уже нормально работать ?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

139. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Нониус on 14-Дек-16, 07:12 
Производительность упала процентов на десять по сравнению с 4.8.14
В частности, ZoL одной и той же версии такое показывает.
Да и простецкий dd if=/dev/zero | dd of=/dev/null (копирование kernel-userspace-kernel).
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

140. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Ilya Indigo (ok) on 14-Дек-16, 10:44 
Напишите об этом разработчикам.
Ответить | Правка | ^ к родителю #139 | Наверх | Cообщить модератору

149. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 15-Дек-16, 10:33 
Вы думаете проблемы ZoL интересуют разработчиков?
Ответить | Правка | ^ к родителю #140 | Наверх | Cообщить модератору

141. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Аноним (??) on 14-Дек-16, 13:31 
Подскажите карточка radeon 8870m gcn 1.0 или 1.1? На википедии написано, что 1.0, а на одном компуктерном сайте - 1.1. Кому верить?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

142. "Релиз ядра Linux 4.9"  –2 +/
Сообщение от Ilya Indigo (ok) on 14-Дек-16, 15:26 
> Подскажите карточка radeon 8870m gcn 1.0 или 1.1? На википедии написано, что
> 1.0, а на одном компуктерном сайте - 1.1. Кому верить?

:s/компуктерном сайте/заборе

Ответить | Правка | ^ к родителю #141 | Наверх | Cообщить модератору

150. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от Аноним (??) on 15-Дек-16, 11:10 
>Проведены оптимизации обработки программных прерываний, которые позволили снизить нагрузку на CPU и дали возможность обрабатывать значительно больше сетевых данных на слабых процессорах. На тестовой маломощной системе производительность обработки UDP-пакетов увеличилась с 2000 до 900 тысяч пакетов в секунду;

На два порядка! Ждём это в OpenWrt.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

157. "Релиз ядра Linux 4.9"  +/
Сообщение от Аноним (??) on 16-Дек-16, 23:35 
> На два порядка! Ждём это в OpenWrt.

Там еще на ath9k и вроде бы медиатеке запилили "быстрый wi-fi". Какой-то хитрозадый решедулинг пакетов в софте, так что латенси должна упасть в разы, особенно на AP на хилых железках.

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

Ответить | Правка | ^ к родителю #150 | Наверх | Cообщить модератору

152. "Релиз ядра Linux 4.9"  +1 +/
Сообщение от фывапроцукенг on 16-Дек-16, 16:37 
а я вот компиляю на фх9590 и проблем не знаю glibc за 7мин. firefox за 15 libreoffice за 37мин. ЧЯДНТ.ядро-x86_64 4.8.14-gentoo march=native -02 -pipe.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

158. "Релиз ядра Linux 4.9"  –1 +/
Сообщение от Аноним (??) on 16-Дек-16, 23:39 
> ЧЯДНТ

Канпелируешь как мартышка, возведя техническое действие в разряд культа. Хотя именно ядро скомпилировать не особо какая проблема, оно в этом плане тривиальное.

Ответить | Правка | ^ к родителю #152 | Наверх | Cообщить модератору

153. "Релиз ядра Linux 4.9"  +/
Сообщение от фывапроцукенг on 16-Дек-16, 16:50 
emerge --info
Portage 2.3.0 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop, gcc-6.2.0, glibc-2.22-r4, 4.8.14-gentoo x86_64)
=================================================================
System uname: Linux-4.8.14-gentoo-x86_64-AMD_FX-tm-9590_Eight-Core_Processor-with-gentoo-2.2
KiB Mem:    16308952 total,  14978968 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Fri, 16 Dec 2016 07:30:02 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.22.2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.5.2-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.22.4::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            6.2.0-r1::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.8::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r4::gentoo
Repositories:
на мой взгляд ядро 4.8 очень даже а вот на 4.7 офис собирался на 20 минут дольше да но компилятор был фуфловый gcc-5.4.0 а счас gcc-6.2.0 может поэтому нет времени разбираться.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

161. "некоторые уже ждут 4.9.1: arm, i386 и проч.меньшинста"  +/
Сообщение от Andrey Mitrofanov on 20-Дек-16, 15:30 
> В новую версию принято около 15 тысяч исправлений от 1400 разработчиков, размер

...наблюдая https://debbugs.gnu.org/25231 ...

В: Чем отличается "бета"-релиз дистрибутив от "альфа"?

О: Тем что бета откатывает распоследний kernel.org-релиз обратно до последнего работающего, а не релизит "как есть".

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру