После двух месяцев разработки Линус Торвальдс представил (https://lkml.org/lkml/2016/5/15/83) релиз ядра Linux 4.6 (https://kernel.org/). Среди наиболее заметных изменений: новая файловая система OrangeFS, поддержка USB 3.1 SuperSpeedPlus (10Gbps), возможность использования интерфейса датаграмм для отправки/приёма отдельных сообщений по TCP, поддержка шифрования на уровне кадров Ethernet, реализация mesh-протокола B.A.T.M.A.N V, поддержка cgroup namespaces, слой pNFS SCSI для NFSv4.1, поддержка 3D-ускорения для GPU NVIDIA GM20x.
В новую версию принято более 12 тысяч исправлений от примерно 1500 разработчиков,
размер патча - 37 Мб (изменения затронули 9990 файлов, добавлено 517234 строк кода, удалено 249061 строк). Около 46% всех представленных в 4.6 изменений связаны с драйверами устройств, примерно 20% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 5% - файловыми системами и 4% c внутренними подсистемами ядра.Из наиболее интересных новшеств (http://kernelnewbies.org/Linux_4.6) ядра Linux 4.6 можно отметить:
-
Дисковая подсистема, ввод/вывод и файловые системы
- В состав добавлена распределённая файловая система OrangeFS (https://www.opennet.ru/opennews/art.shtml?num=44113), рассчитанная на применение в высокотехнологичных high-end-серверах и кластерах для достижения максимальной производительности доступа к данным из распараллеленных приложений. OrangeFS позиционируется как продолжение разработки проекта PVFS, развивая его в таких областях как отказоустойчивость и расширенные механизмы контроля доступа. Из типичных областей применения OrangeFS называются высокопроизводительные вычисления (HPC), обработка больших объёмов данных (BigData), потоковое вещание видео, решение задач геномики и биоинформатики;- Для файловой системы OCFS2 (Oracle Cluster File System) реализована (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.... система проверки целостности файлов, которая позволяет без отмонтирования ФС восстановить работу в случае возникновения некоторых видов сбоев. Если ранее при выявлении ошибок с числом inode для файла вся ФС переводилась в режим только для чтения, то теперь реализован специальный простой механизм проверки, который в случае проблем с числом inode, выполняет проверку и корректировку inode;
- В сервер NFSv4.1 добавлена (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.... раскладка pNFS SCSI с реализацией варианта раскладки блочного устройства, использующего команды SCSI для улучшенной изоляции и идентификации устройства. При использовании pNFS SCSI сервер NFS выступает в роли сервера метаданных для pNFS, который кроме обработки всех запросов к метаданным предоставляет клиентам примой доступ к хранилищу через логические устройства SCSI (SCSI LUN), которые могут быть совместно использованы всеми клиентами. Для работы раскладок pNFS SCSI требуется их поддержка на стороне экспортируемой файловой системы, которая пока доступна только в XFS;
-
Сетевая подсистема
- Добавлена (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.... подсистема Kernel Connection Multiplexor (KCM), предоставляющая средства для эффективного приёма и отправки сообщений по TCP, используя при этом программный интерфейс датаграмм. Т.е. предлагаются средства для построения протоколов уровня приложения, манипулирующих отправкой отдельных сообщений, при том, что для передачи сообщений используется TCP для гарантии доставки, но API похож на UDP и не требует возни с установкой соединения (операции установки и завершения соединения выполняются автоматически);- Поддержка пятой версии (https://www.open-mesh.org/projects/batman-adv/wiki/BATMAN_V) mesh-протокола B.A.T.M.A.N. ("Better Approach To Mobile Adhoc Networking), позволяющего создавать децентрализованные сети, каждый узел в которых связан через соседние узлы. Новая редакция примечательная разделением протокола OGM на два отдельных компонента - ELP (Echo Location Protocol) и OGMv2. ELP отвечает за обнаружение соседей и оценку качества линка, а OGMv2 реализует алгоритм распространения метрик по сети и определяет оптимальные маршруты. Кроме того, протокол больше не полагается на потерю пакетов, а отталкивается от определённой пропускной способности;
-
Память и системные сервисы
- В USB-стеке обеспечена поддержка протокола SuperSpeedPlus, определённого в спецификации USB 3.1 и позволяющего добиться скорости передачи данных до 10Gbps, например, при подключении внешних накопителей класса USB 3.1 Gen2;- Проведена (https://lkml.org/lkml/2016/2/3/501) работа по увеличению надёжности кода, отвечающего за принудительное завершение задач в условиях нехватки памяти в системе (OOM killer). В частности, решена проблема с задержками высвобождения памяти в случае принудительного завершения процессов, завершение которых задерживается из-за нахождениея в непрерываемом состоянии ожидания события от другого процесса, который оказывается заблокирован системой распределения страниц памяти. Для решения этой проблемы добавлен специализированный поток ядра oom_reaper (https://lwn.net/Articles/668126/#reaper), который пытается сразу вернуть системе анонимную или вытесненную в раздел подкачки память убиваемого OOM killer процесса, полагая, что процессу эта память уже не нужна так как он всё равно будет завершён;
- В API DMA-BUF, позволяющем организовать совместное использования буферов драйверами и различными подсистемами (V4L2, DRI и т.п.), добавлен (https://01.org/blogs/2016/sharing-cpu-and-gpu-buffers-linux) новый ioctl DMA_BUF_IOCTL_SYNC для управления согласованностью кэша между CPU и GPU. Новый ioctl позволяет решить проблемы с согласованностью кэша при одновременном доступе к ресурсам CPU и GPU через dma-buf;
- Новые системные вызовы preadv2() и pwritev2() (https://lwn.net/Articles/670231/), которые отличаются от preadv() и pwritev() наличие дополнительного аргумента для передачи ядру дополнительных флагов (например, RWF_HIPRI для чтения в неблокирующем режиме);
-
Виртуализация и безопасность- Представлен "cgroup namespaces (https://git.kernel.org/torvalds/c/d4021f6cd41f03017f831b3d40... механизм виртуализации точек монтирования cgrops и представления /proc/$PID/cgroup, что позволяет использовать в разных контейнерах отдельные иерархии cgroup, не позволяющие получить доступ к информации из системной иерархии. Например, без cgroup namespaces из изолированного процесса через /proc/$PID/cgroup можно получить такую информацию как полный путь cgroup процесса. Для создание пространства имён cgroup в вызовы clone(2) и unshare(2) добавлен новый флаг CLONE_NEWCGROUP;
- Добавлена (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.... поддержка механизма ключей защиты памяти Intel MPK (https://en.wikipedia.org/wiki/Memory_protection#Protection_k... (Memory Protection Keys), реализованного в готовящемся к выпуску новом поколении процессоров Intel. MPK позволяет закодировать управляемые пользователем маски прав доступа в элементах таблицы страниц памяти (PTE). Вместо одной фиксированной маски доступа в PTE, которая требует системного вызова для изменения и работает в привязке к странице памяти, MPK позволяет пользователю определить несколько вариантов масок через специальный регистр (PKRU). В PKRU для каждой маски можно задать раздельные флаги запрета доступа и запрета записи. Подобный подход позволяет динамически переключать флаги доступа для очень больших областей памяти, манипулируя лишь регистром CPU, без внесения изменений для каждой страницы памяти. Кроме того появляется возможность более точного управления флагами пр...URL: https://lkml.org/lkml/2016/5/15/83
Новость: https://www.opennet.ru/opennews/art.shtml?num=44432
> Проведена работа по увеличению надёжности кода, отвечающего за принудительное завершение задач в условиях нехватки памяти в системе (OOM killer). В частности, решена проблема с задержками высвобождения памяти в случае принудительного завершения процессов.Ну наконец-то!
В случае, когда архивируется (7|x)z с максимальным сжатием с сохранением на RAM диск и объём архива или текущее потребление оперативной памяти выходит за рамки предполагаемого и архиватор сам у себя отъедает оперативную память и система просто вешается. OOM Killer даже не шевелится. Помогает только Alt+SysRq+(R,E,I,S,U,B).
Посмотрим как на этом ядре будет.
Второй терминал надо открывать и посылать kill с сигалами для RT процссов. Помогает всегда. А зачем такие извращения - паковать в памяять?
> Второй терминал надо открыватьСистема НАМЕРТВО виснет, не TTY1 не SSH ничего НЕ реагирует, кроме описанного ранее.
> А зачем такие извращения - паковать в памяять?Что бы не фрагментировать ФС (ext4).
Пользователи лайнакса должны страдать.
но вообще
vm.oom_kill_allocating_task=1
> лайнаксаК логопеду.
> Пользователи лайнакса должны страдать.Аноний должен продолжать анойнировать.
Учитывая, что создателя зовут Линус (да-да, по-фински читается именно Линус, ударение на первый слог), Linux читается как Линукс.
>Что бы не фрагментировать ФС (ext4).Открой для себя e4defrag
>>Что бы не фрагментировать ФС (ext4).
> Открой для себя e4defragОна позволяет дефрагментировать корневой смонтированный раздел?
e4defrag - online defragmenter for ext4 filesystem.На слово online обращаю внимание.
А вообще - если у тебя активная работа с диском - надо её ограничивать отдельным разделом, по многим причинам - от меньших шансов начудить до возможности специфического тюнинга. Сжатие на RAM-диск ради борьбы с фрагментацией иначе как извращением и не назвать.
а мануалы почитать слабо?
> $ man e4defrag
> …
>e4defrag [ -c ] [ -v ] target ...
> …
> If target is a directory, e4defrag reduces fragmentation of all files in it. If target is a device, e4defrag gets the mount point of it and reduces fragmentation of all files in this mount point.
Лучше просто Alt+SysRq+f
> Лучше просто Alt+SysRq+FСпасибо, попробую в следующий раз, если возникнет необходимость в этом. :-)
Alt+SysRq+F, неуч
Долб... ресет и розетки для кого придумали?
Бывает, приводит к преждевременному отказу от использования нового жёсткого диска по причине его выхода из строя, товарищ.
Это что ж за печальное железо такое? Ну, то есть ресет да розетки дёргать - скотство, конечно, но всё же. Я ещё понимаю, если бы речь о потере данных пошла (и то сейчас этого уже суметь добиться надо).
> Бывает, приводит к преждевременному отказу от использованияЭто уже лет 20 не приводит к отказу. ФС может грохнутся, кроме XFS. :)
> Это уже лет 20 не приводит к отказу. ФС может грохнутся, кроме XFS. :)Который лет 10 при крахах файлы нулями затирал. И сейчас не сильно лучше - только метаданные журналируются, поэтому что там случится с данными в файлах при крахе - никто не отвечает.
... да и у всех уже SSD
Покажи мне помойку, где можно найти SSD?
> Покажи мне помойку, где можно найти SSD?В гугле забанили?
Не знаю как у других, но в openSUSE Tumbleweed на kernel-desctop-4.6.2-2.1 до сих пор не работает. Отправил баг, пусть разбираются.
https://bugzilla.suse.com/show_bug.cgi?id=985233
Кто знает когда это https://en.wikipedia.org/wiki/Richacls будет в ядре официально?
>> Добавлена подсистема Kernel Connection Multiplexor (KCM), предоставляющая средства для эффективного приёма и отправки сообщений по TCP, используя при этом программный интерфейс датаграмм.yжoc$%%#@$^
[сообщение отредактировано модератором]
Применение этому вижу, например, в использовании одновременно протокола XMPP и передачи файла (бинарный поток) или медиапоток протокола Jingle в рамках одного соединения TCP, порт 5222 для пользователей, которые оба за NAT. Более прямое решение - использовать SCTP, но Винда и ныне там ж), да и неизвестно, отобразит ли провайдерский NAT протокол SCTP.
Чхать на винду.
будьте здоровы.
> Применение этому вижу, например, в использовании одновременно протокола XMPP и передачи файла (бинарный поток) или медиапоток протокола Jingle в рамках одного соединения TCPJingle - это не просто XEP, это целый набор XEP-ов, один из которых, собственно сам основной Jingle, призван реализовать P2P-сигнализацию поверх XMPP, другой реализует протокол RTP, третий DTMF и так дальше до полной телефонизации.
Сам XMPP при этом не P2P, он клиент-серверный. Так куда ты там собрались слать свои медиапотоки в рамках "одного соединения TCP", на jabber-сервер, а они там нужны? Нет не нужны, там и сессии для этих медиапотоков-то не нужны.
Кроме того, зачем слать голос и видео по TCP? Эта задача исторически ставит в приоритет своевременность, а не гарантированность. При этом есть потоки которые должны иметь гарантированную передачу, файлы, например. Судя по твоему комментарию, для тебя может оказаться сюрпризом, но сессионные данные в Jingle тоже могут проходить по UDP.
Или подожди, может ты решил смешать всё в одно волшебное P2P-шное Jingle соединение?
Приведу пример: три человека разговаривают; первый передает второму файл, пока второй и третий говорят что-то одновременно первому. Пораскинь мозгами, насколько удобна твоя концепция единого соединения для решения такой типовой задачи.Сам Jingle это, исторически, костыль, пытающийся угнаться за SIP. Да, сигнализация у них разная, но суть одна. Он применяет ту же архитектуру, использует те же технологии, но Jingle в этом случае догоняющий. Признаюсь честно, тот пример который я привел на базе Jingle ты сейчас не сделаешь, нет еще стандарта, XEP-0272 пока экспериментальный. Но твои "применения" сделают появление такого стандарта невозможным.
> NAT
Проблемы с натом решаются через внедрение STUN/TURN (в лучших традициях SIP), а не так как ты там себе придумал. Опаньки, и этот стандарт не вышел из экспериментального статуса (XEP-0278)
> SCTP
Ага. Ну-ну. Сразу после тотального перехода на ipv6.
...>> SCTP
> Ага. Ну-ну. Сразу после тотального перехода на ipv6.хм, sctp прекрасно работает по v4 и/или v6, с nat`ом правда проблемки вылазят..
а под win(xp,7,etc) платформу вроде драйвера от Bruce Kran`a есть..
> хм, sctp прекрасно работает по v4 и/или v6Уверен, он не это имел ввиду. IPv6 тоже прекрасно работает по существующим ethernet, что, однако, не привело к его широкой распространённости.
>Поддержка пятой версии mesh-протокола B.A.T.M.A.N. ("Better Approach To Mobile Adhoc Networking), позволяющего создавать децентрализованные сети, каждый узел в которых связан через соседние узлы.А кто-то пробовал это в реальной жизни? Звучит, вроде, неплохо.
>>Поддержка пятой версии mesh-протокола B.A.T.M.A.N. ("Better Approach To Mobile Adhoc Networking), позволяющего создавать децентрализованные сети, каждый узел в которых связан через соседние узлы.
> А кто-то пробовал это в реальной жизни?Один из вариантов реализации "умного дома"
Really? А оно есть для чего-то мелкого? Я как-то реализаций для МК не сумел выгуглить.
> Really? А оно есть для чего-то мелкого?Это Linux - куда прикрутишь, там и работает. :)
Понимаешь, умный дом - это обычно микроконтроллеры, на которые линукс не прикрутить аже теоретически. Ну там - оперативки 16 килобайт и т.п.Устройством, на которое можно засунуть линукс, там (из соображений стоимости, размеров, энергопотребления и надёжности) обычно оказывается только центральный "мозг"-контроллер. А BATMAN нужен был бы для сети датчиков, чтобы не надо было делать прямое соединение контроллера и всех датчиков. Но найти его реализацию для чего-то маломощного нме не удалось, хотя было бы интересно потыкать. В связи с чем вопрос - с чего ты взял, что он вообще в "умном доме" используется.
> А BATMAN нужен был бы для сети датчиков, чтобы не надо
> было делать прямое соединение контроллера и всех датчиков. Но найти его
> реализацию для чего-то маломощного нме не удалось, хотя было бы интересно
> потыкать.Теоретически можно взять мелкий SoC (типа такого http://phasenoise.livejournal.com/1500.html) c OpenWRT и использовать его совместно с uC (соединив их через UART).
> Теоретически можно взять мелкий SoC (типа такогоТипа такого: http://www.friendlyarm.com/index.php?route=product/product&p... - и прочие бананы пи за 15 баксов. У них своего GPIO и прочего - более чем.
> Понимаешь, умный дом - это обычно...Это маркетинговое слово. И микроконтроллеры даже не везде, только у тех кто думает,
остальные это тупа приёмники + контроллер какого-нибудь привода, типа шторы раздвинуть/задвинуть.
А чтоб задвинуть раздвинуть, например, по времени, таймеру, уровню освещённости, движению - нужен мозг,
который собирает данные с датчиков, звука, света, часов и пр. А ещё есть с управлением голосом,
с системой обучения к нему. И на холодильник вешают сканер штрих кодов, и в инет базу ломится за
составом и калорийностью... И, внезапно, КРИПТОГРАФИЯ, чтоб школьники с андроида, за забором,
не включали пылесосы ночью.
> чего ты взял, что он вообще в "умном доме" используется.
Я его туда пихать, продавать, кушать икра
> Really? А оно есть для чего-то мелкого? Я как-то реализаций для МК не сумел выгуглить.А зачем МК, если за 10 долларов китайцы продают весь 4-ядерник в сборе, с 512-1024 мегов оперативки? В линуксе можно использовать нормальные протоколы, инструменты разработки и отрисовать веб-интерфейс, wi-fi подпереть, так что везде сигнал идеальный будет. Куча GPIO, всякие i2c/spi/1wire прилагается, линукс все это умеет.
>> Really? А оно есть для чего-то мелкого? Я как-то реализаций для МК не сумел выгуглить.
> А зачем МК, если за 10 долларов китайцы продают весь 4-ядерник в
> сборе, с 512-1024 мегов оперативки? В линуксе можно использовать нормальные протоколы,
> инструменты разработки и отрисовать веб-интерфейс, wi-fi подпереть, так что везде сигнал
> идеальный будет. Куча GPIO, всякие i2c/spi/1wire прилагается, линукс все это умеет.Умный дом это не о том что можно, а о том что нужно. Т.е. если мне захотелось датчик открытия крышки моего унитаза, скажем, малину под ободок не засунуть; а вот таблетку, что на одной батарейке годик-другой проживёт - это то что необходимо. А таких таблеток (точнее мест контроля/наблюдения) нужно десятки, а то и сотни.
> Т.е. если мне захотелось датчик открытия крышки моего унитаза, скажем,
> малину под ободок не засунуть; а вот таблетку, что на одной
> батарейке годик-другой проживёт - это то что необходимо. А таких таблеток
> (точнее мест контроля/наблюдения) нужно десятки, а то и сотни.Да ладно... зачем столько унитазов?
Резервирование, fault tolerance. А ещё можно срать раунд робином.
А если дрищь проберет? WC-pinning активировать?
> Резервирование, fault tolerance.Не там ты Fault tolerance устраиваешь, дядя Федор. Откажет у тебя единственный насос, или пропадет электричество - и утонешь ты в фекалиях. Из всех унитазов сразу.
> А таких таблеток (точнее мест контроля/наблюдения) нужно десятки, а то и сотни.а в целом их миллионы нужны с заранее известными функциями, поэому их не на МК сделают а специализированные микросхемы - это дешеле и надежней.
> а в целом их миллионы нужны с заранее известными функциями, поэому их
> не на МК сделают а специализированные микросхемы - это дешелеЭто только когда задача четко определена и действительно часто встречается. В быту часто встречается задачи которые требуют индивидуального решения в силу особенности датчиков и задачи.
Да и при промышленном масштабе далеко не всегда оправдано разработка и заказ спец микросхемы. Например m-audio в своих midi клавиатурах использует типовой uC. E-MU для звуковой платы 1212m использует собственный DSP + стандартный FPGA. Так что все зависит от задачи.
> и надежней
Почему? Обычно если задача изначально требовала uC, то там и ставят фактически тот же uC но дополненный специфическими функциями.
> батарейке годик-другой проживёт - это то что необходимо.А через год придется барейки по всему дому заменять. В городе еще есть риск что кто-то включит чего-нибудь фонящее и датчики оптом отвалятся. Еще нужен гейт какой-то и нестандартный софт для работы с ним. И опять же удобнее все это на одноплатник выгрузить. Поэтому в части случаев МК можно выбросить совсем, МКшные интерфейсы есть и у одноплатников.
> А таких таблеток (точнее мест контроля/наблюдения) нужно десятки, а то и сотни.
Устройся в РАО ЕЭС диспетчером - будут тебе сотни датчиков. Все хорошо в меру. И вообще, протянуть 2 провода к датчику от GPIO - не особая проблема. Зато батареек не просит и не отваливается.
Меня вот у погодной станции достали отваливания передатчика и неудобная замена батареек. Плюнул и вывесил ds1820b с gpio одноплатника. Бонусом ща я ему json забацаю и сколько за бортом сможет показать любой компьютер/планшет/телефон в доме. Это удобно.
1. Надежность существенно (на порядок, если не на два) ниже чем у uC.
2. Энергопотребление больше, размеры больше.
3. Жесткий realtime отсутствует.
4. Нормальный аппаратный PWM там хоть есть?
5. GPIO стандартные 5v выдать может?
6. Сколько входов ADC?
7. Морозы/жару/влажность циклическую переживет?
8. Скорость перезагрузки по watchdog 1000 (если не в миллион) дольше.
1 Бред
2 Микропотребление нужно очень редко
3 Бред
4 Есть почти у всех - как минимум для подсветки LCD используется так что все ставят
5 Зачем ? вы наверно из криокамеры, но стандартным стало 3.3V уже лет 10
6 Зависит от процессора
7 Не хуже MK
8 Зачем перезагружать ?
1.Железо: uC простой чип содержащий в себе все критически важное для работы (за исключением питания). SoC - сложный чип, многослойная плата, внешняя обвязка, внешняя ram/rom. Если загрузка sd card, то о какой надежности вообще говорить? Большое количество точек для отказа.
Софт: Linux + софт = миллионы строк кода vs 100-5000 строк на uC.
Спрошу прямо: вы бы доверили свою жизнь или жизнь близких SoC с linux или предпочли бы что-то по надежнее на простом uC?
> 2 Микропотребление нужно очень редко
Всегда, если используется автономный источник питания.
> 3 Бред
Обоснуйте? Есть возможность получить гарантированное время реакции на GPIO с точно известными максимальными задержками?
> 4 Есть почти у всех - как минимум для подсветки LCD используется
> так что все ставятТот что ставят для подсветки - он ограничен ее потребностями. Практически на любом uC 3 или больше PWM 8-16 bit, с кучей разных режимов и практически любой частотой.
> 5 Зачем ? вы наверно из криокамеры, но стандартным стало 3.3V уже
> лет 10Это стандарт де факто для бытовой техники. В автомобилях тоже практически все датчики приводятся к уровню 5v. Имея 5v можно напрямую управлять обычным mosfet. Для gpio тоже удобно - меньше ток, меньше потери, меньше уровень помехи.
> 6 Зависит от процессора
А конкретнее? У uC ширпотреба 8-28.
> 7 Не хуже MK
Очень сомневаюсь: atmega 8a (самый ширпотреб, даже не industrial) Operating Temperature -55°C to +125°C
> 8 Зачем перезагружать ?
Вы не знаете зачем нужен watchdog?!
И да 9: Устойчивость к EMI то же на порядок ниже.
1> Спрошу прямо: вы бы доверили свою жизнь или жизнь близких SoC с linux или предпочли бы что-то по надежнее на простом uC?
ни то ни другое - требовательные к надежности системы строятся по принципу аппаратной избыточности - это единственно возможное решение и касается это любых систем вообще - не только электроники, так что проблема надежности сильно преувеличена тем более при домашнем использовании
2 когда используется автономный источник питания в автоматике ? или лучше так - вы доверите жизнь свою или близких какой-то батарейке которую делает неизвестно кто, как и когда и котороую может вспучить в любую секунду ?
3
> возможность получить гарантированное время реакции на GPIO с точно известными максимальными задержками?
для задач домашней автоматизации с головой хватит RT_PREEMT, для промышленной автоматизации еслить масса решений - от Xenomai/RTAI до полноценных гипервизоров с bar metal в изолированном окружении
4 разговор просто нио чем - это вопрос выбора процессора, есть на любой вкус и цвет как и для 6)
5 о чем вы. сейчас 5В используют либо в легаси проектах либо специализированные решения которые обсуждать просто нет смысла - отошла в мир иной вся 5В логика лет 10 назад, то что вы ее еще где-то встречаете - ну так и радио тоже еще слушают в автомобилях, а так в основном все телевизоры смотрят :)
6 см. 4
7 Automotive - дофига и не проблема, Military (−55°C to 125°C) это конечно спецальные партии и дорого
8 Баги надо исправлять а не затычки со сторожевыми собаками ставить
>> Спрошу прямо: вы бы доверили свою жизнь или жизнь близких SoC с linux или предпочли бы что-то по надежнее на простом uC?
> ни то ни другое - требовательные к надежности системы строятся по принципу
> аппаратной избыточности - это единственно возможное решение и касается это любых
> систем вообще - не только электроники,Согласен, но одно другого не отменяет.
вопрос рациональности: зачем ставить два SoC там, где хватает одного uC?> так что проблема надежности сильно
> преувеличена тем более при домашнем использованииУстройство должно работать в режиме 24/7 и не требовать вмешательства/обслуживания максимально долгий период. Есть задачи на которых отказ крайне нежелателен - насосы, отопление, и т.д. Да и учитывая общее количество устройств (>100) вероятность что что-то периодически будет глючить очень высока.
> 2 когда используется автономный источник питания в автоматике ? или лучше так
> - вы доверите жизнь свою или близких какой-то батарейке которую делает
> неизвестно кто, как и когда и котороую может вспучить в любую
> секунду ?Кардиостимулятор? Представляю его на RBPi :)
> 3
>> возможность получить гарантированное время реакции на GPIO с точно известными максимальными задержками?
> для задач домашней автоматизации с головой хватит RT_PREEMT, для промышленной автоматизацииНе факт - задачи и датчики могут быть очень разными.
> еслить масса решений - от Xenomai/RTAI до полноценных гипервизоров с bar
> metal в изолированном окруженииИ зачем этот огород, если можно взять uC за 0.5$?
> 4 разговор просто нио чем - это вопрос выбора процессора, есть на
> любой вкус и цвет как и для 6)
> 5 о чем вы. сейчас 5В используют либо в легаси проектах либо
> специализированные решения которые обсуждать просто нет смысла - отошла в мир
> иной вся 5В логика лет 10 назад,И все mosfet и датчики нормально работают от 3v и помех стало меньше?
> 6 см. 4
> 7 Automotive - дофига и не проблема, Military (−55°C to 125°C) это
> конечно спецальные партии и дорогоПротив 0.5$ uC. Речь о домашнем ширпотребе, он в том числе должен нормально работать на улице и в ванной.
> 8 Баги надо исправлять а не затычки со сторожевыми собаками ставить
Естественно. Но всегда лучше подстраховаться - вероятность аппаратной проблемы (EMI) далеко не нулевая, а для SoC весьма может быть и программная - все баги не найдешь - слишком много кода да и сами по себе драйвера SoC не тривиальны.
У каждой вещи есть свои плюсы и минусы - uC хороши для простых задач и вещей - включил и забыл. SoC - большие объемы информации, мультимедиа, GUI. Заменять одно другим просто глупо и не рационально. Но правильно совместив можно получить отличный результат по всем параметром. uC - для отдельных конкретных задач. SoC - UI, мультимедиа, сбор статистики. Дешево, надежно и энергоэффективно.
> uC - для отдельных конкретных задачпоиграться ногодрыгом и выбросить - вот и все задачи 8 битных однокристалок, для всего остального давно все используют SoC которые МК называют чисто формально - ПО зашито во встроенную флеш и нет MMU для нормальной ОС на базе Linux
> Железо: uC простой чип содержащий в себе все критически важное для работыАтмел какой-нибудь умеет и прошивку терять и настолько простой что даже исключения не реализует и когда он начинает лопатить мусор - он это будет делать долго, пока вачдог его не снесет. К этому моменту он может успеть потереть себе флэш/еепром. А какой-нибудь Cortex M3 не сильно проще одноплатника. На старших STM32 даже линукс всерьез запускают.
> Софт: Linux + софт = миллионы строк кода vs 100-5000 строк на uC.
Эти 100 строк не обеспечивают ни отображение статуса, ни удаленное управление.
> Спрошу прямо: вы бы доверили свою жизнь или жизнь близких SoC с
> linux или предпочли бы что-то по надежнее на простом uC?Linux сейчас управляет метро, летает в космос, и вообще. Вашему любимому атмелу жизнь вообще доверит только суицидник, они обнаружение некондиционного питания сроду сделать не могли и глючили вплоть до слета прошивки.
> Всегда, если используется автономный источник питания.
Если у меня 100 датчиов как тут хотел владелец унитазов, с батарейкой работаюещй год, значит я буду менять 100 батареек за год. Т.е. замена батарейки где-то раз в 3 дня. А если на месяц куда-то умотал, потом целое техобслуживание - дюжину батареек заменять.
> Обоснуйте? Есть возможность получить гарантированное время реакции на GPIO
Зависит от того какое время надо. Зачем в умном доме жесткий реалтайм?
> Тот что ставят для подсветки - он ограничен ее потребностями. Практически на
> любом uC 3 или больше PWM 8-16 bit, с кучей разных режимов и практически любой частотой.Да что там, у кортексов 3-фазный motor control есть. Только умное реалтаймное управление моторами - очень отдельный случай, где вам конечно пригодится реальное время но это на отдельный проект потянет.
> Это стандарт де факто для бытовой техники.
Какой еще техники? Датчики и модули обычно 3.3V желают.
> датчики приводятся к уровню 5v. Имея 5v можно напрямую управлять обычным mosfet.
У обычного MOSFET напряжение упраления 10V, а если logic level FET брать, он и 3.3V прекрасно открывается.
> Для gpio тоже удобно - меньше ток, меньше потери, меньше уровень помехи.
Это чего бы это он меньше? Потребление CMOS пропорционально квадрату напряжения. И чем ниже напряжение тем меньше наводок оно создает.
> Очень сомневаюсь: atmega 8a (самый ширпотреб, даже не industrial) Operating Temperature
> -55°C to +125°CЭто все прекрасно, только атмега сама по себе вообще не умеет сети. И дом получается какой-то не умный.
> И да 9: Устойчивость к EMI то же на порядок ниже.
Это еще бабушка надвое сказала. Одноплатник обычно питается от импульсного широкодиапазонного зарядника, который выдерживает очень многое. Дальше там менеджер питания, который тоже с запасом сделан (при номинале в 5 вольт - abs maximum бывает вольт 10-20) и т.к. это скоростной импульсник на мегагерц-два, ему не так уж важно что там на входе за пакость. А вот насколько ваши поползновения в конструировании цепей питания будут устойчивее этого... понимаете, если эти цепи питания сбоят, юзеры прутся с планшетом или телефоном в гарантийку. Это производителям не нравится.
>> Железо: uC простой чип содержащий в себе все критически важное для работы
> Атмел какой-нибудь умеет и прошивку терятьЯ это уже не первый раз (вероятно от вас же) слышу, но не как не могу воспроизвести - зажигание на atmega ДВС по-прежнему работает, сварочный осциллятор тоже с atmega также без проблем. Кстати если я запускаю осциллятор менее чем в метре от десктоп - он перезагружается.
> и настолько простой что даже исключения
> не реализует и когда он начинает лопатить мусор - он это
> будет делать долго, пока вачдог его не снесет. К этому моменту
> он может успеть потереть себе флэш/еепром.Добавить контрольную сумму eeprom? Поставить fuse lock на запись в flash?
> А какой-нибудь Cortex M3 не
> сильно проще одноплатника.Все же существенно проще, да и он тоже фактически самодостаточен (минимум внешней обвязки, может работать без внешней ram, есть свой rom).
> На старших STM32 даже линукс всерьез запускают.
Да, но смысл? Если действительно нужна полноценная ОС, то лучше взять одноплатник с большими возможностями.
>> Софт: Linux + софт = миллионы строк кода vs 100-5000 строк на uC.
> Эти 100 строк не обеспечивают ни отображение статуса, ни удаленное управление.Почему же? Если мигание светодиодами (а ля роутер) - 10-20 строк, управление с ИК - тоже 10-20 строк. Управление через радио модуль - примерно тоже.
Да и даже если наберется 2000 строк (и это дофига - круизконтроль + система зажигания + logger на sd card + lcd) это существенно меньше, чем linux + drivers + user space/apps.
Последнее время я активно работал над rockbox - там плееры на SoC (что-то среднее между STM32 и современными одноплатниками). Багов неимоверное количество, в основном в драйверах, многие проявляются в очень редко, дебагать сложно. Вложенные вызовы IRQ тоже не добавляют комфорта. Иногда наступает ситуация которая приводит к вызову defaul handler IRQ, хотя handler для этого IRQ задан. Сама обработка IRQ - строг по datasheet.
C sd cards отдельная проблема - некоторые баги вылазят только на определенных карточках. Да и сам sd спецификация приводит в уныние. Про usb лучше вообще не вспоминать.
Linux тоже содержит кучу багов и еще более заковыристых.
После этого смотришь на avr - все просто, понятно, однозначно - написать bug free программу вполне реальная задача при том за относительно короткий промежуток времени.
>> Спрошу прямо: вы бы доверили свою жизнь или жизнь близких SoC с
>> linux или предпочли бы что-то по надежнее на простом uC?
> Linux сейчас управляет метро, летает в космос, и вообще.Да, знаем как оно там летает: https://www.linux.org.ru/news/linux-general/11648238
Это даже не смешно, а очень печально: безграмотность достигла космического уровня.> Вашему любимому атмелу
> жизнь вообще доверит только суицидник, они обнаружение некондиционного питания сроду сделать
> не могли и глючили вплоть до слета прошивки.atmega datasheet:
Keep the AVR RESET active (low) during periods of insufficient power supply voltage. This
can be done by enabling the internal Brown-out Detector (BOD). If the detection level of the
internal BOD does not match the needed detection level, an external low VCC Reset Protec-
tion circuit can be used. If a reset occurs while a write operation is in progress, the write
operation will be completed provided that the power supply voltage is sufficient.
>> Всегда, если используется автономный источник питания.
> Если у меня 100 датчиов как тут хотел владелец унитазов, с батарейкой
> работаюещй год, значит я буду менять 100 батареек за год. Т.е.
> замена батарейки где-то раз в 3 дня. А если на месяц
> куда-то умотал, потом целое техобслуживание - дюжину батареек заменять.Это да, но под автономным я имел ввиду не только батарейки, но и АКБ с зарядкой от солнечных батарей или других нестабильных источников питания.
>> Обоснуйте? Есть возможность получить гарантированное время реакции на GPIO
> Зависит от того какое время надо. Зачем в умном доме жесткий реалтайм?Всякое бывает - иногда нужно вымереть точно длительность импульса от датчика или наоборот сформировать точный импульс (или серию).
Сейчас думаю над задачей - как исключить перегрузку сети. Тоже нужно за гарантированный отрезок времени обнаружить перегрузку и отключить часть потребителей (по списку приоритета) для ее устранения.
>> Тот что ставят для подсветки - он ограничен ее потребностями. Практически на
>> любом uC 3 или больше PWM 8-16 bit, с кучей разных режимов и практически любой частотой.
> Да что там, у кортексов 3-фазный motor control есть. Только умное реалтаймное
> управление моторами - очень отдельный случай, где вам конечно пригодится реальное
> время но это на отдельный проект потянет.
>> Это стандарт де факто для бытовой техники.
> Какой еще техники?Стиральные машины, индукционные плиты, etc - практически все используют внутри 5v для логики.
> Датчики и модули обычно 3.3V желают.
Смотря на какой uC ориентирован датчик. Если без четкой принадлежности - то обычно 5v. Да и работать с GPIO 5v + датчик на 3.3v проще, чем GPIO 3.3v + датчик 5v.
>> датчики приводятся к уровню 5v. Имея 5v можно напрямую управлять обычным mosfet.
> У обычного MOSFET напряжение упраления 10VПолное - да. А если токи не большие - 5v вполне хватает.
>> Для gpio тоже удобно - меньше ток, меньше потери, меньше уровень помехи.
> Это чего бы это он меньше?Если нагрузка требует определенной мощности (ватт), то по закону ома.
> Потребление CMOS пропорционально квадрату напряжения.
На gpio не только CMOS цепляют.
> чем ниже напряжение тем меньше наводок оно создает.
Да. Но собирает и их гораздо лучше, что для нашего случая (управление силовой электроникой и датчики, а то и сама плата около нее) важно.
>> Очень сомневаюсь: atmega 8a (самый ширпотреб, даже не industrial) Operating Temperature
>> -55°C to +125°C
> Это все прекрасно, только атмега сама по себе вообще не умеет сети.
> И дом получается какой-то не умный.Для этого есть модули. Даже если модуль связи ушел в ребут/отказ - основная задача продолжает выполнятся - микроядерность и модульность в чистом виде.
>> И да 9: Устойчивость к EMI то же на порядок ниже.
> Это еще бабушка надвое сказала. Одноплатник обычно питается от импульсного широкодиапазонного
> зарядника, который выдерживает очень многое. Дальше там менеджер питания, который тоже
> с запасом сделан (при номинале в 5 вольт - abs maximum
> бывает вольт 10-20) и т.к. это скоростной импульсник на мегагерц-два, ему
> не так уж важно что там на входе за пакость. А
> вот насколько ваши поползновения в конструировании цепей питания будут устойчивее этого...Пример с осциллятором я уже приходил. uC работает прямо внутри него. Сложная электроника даже на расстоянии начинает глючить - начиная с потери usb устройств, заканчивая зависанием/перезагрузкой.
Знаю сварочный трансформатор, сварочный инвертор. Сварочного "осциллятора" не знаю.
Создает высокочастотный (50-200 кГц) ток с напряжением 3000В в сварочной цепи. Нужен для бесконтактного поджига дуги. Обычно используется для аргонодуговой сварки.http://expertsvarki.ru/oborudovanie/svarochnyj-oscillyator.html
> 1. Надежность существенно (на порядок, если не на два) ниже чем у uC.Руки надо из правильного места отращивать. Работает, годами. Linux - стабильная система, если готовить правильно. Самая ненадежная часть - питальник. Под автопилот брать хороший, с запасом.
> 2. Энергопотребление больше, размеры больше.
Там доли ватта, а "гейт" всяко потребуется для управления с телефонов/планшетов/компов и доступа по сети. В половине случаев на "гейт" можно остальное сгрузить. Размеры - одноплатники бывают 2х2 сантиметра уже. Любители dip-корпусов в ауте.
> 3. Жесткий realtime отсутствует.
А где и для чего он в умном доме требуется? У человека время реакции 200 миллисекунд, доставка смс - минимум несколько секунд.
> 4. Нормальный аппаратный PWM там хоть есть?
Местами есть. Но это наверное лучше уже на МК выгрузить, если это надо.
> 5. GPIO стандартные 5v выдать может?
5V были стандартом в прошлом веке. Сейчас это стандарт только как "charger", источник питания. Многие датчики и модули требуют 3.3V IO и к 5V не толерантны. К тому же 5V сложно получать от батареек, если уж об этом.
> 6. Сколько входов ADC?
Мало или нет, но это не проблема, датчиков с цифровым выходом - море. Правильная обработка аналога - отдельная тема, реализация системы очень усложнится. В сад.
> 7. Морозы/жару/влажность циклическую переживет?
Если без конденсации - переживает. Мы про дом вроде? Там жильцы такое не переживают. Если это про бросить в неотапливаемом доме/гараже - работает.
> 8. Скорость перезагрузки по watchdog 1000 (если не в миллион) дольше.
Даже если core умного дома сделает рестарт за целых 10 секунд, этого никто не заметит. К тому же это случается реже чем раз в год.
Дык большинство существующих меш-сетей работают на batman-adv. Остальные - на bmx6, что есть форк от B.A.T.M.A.N. на L3. Ну и полтора некрофила используют OLSR, CJDNS, Netsukuku и прочее непопулярное.
ну почему ?
тот-же HWMP/802.11s - УЖЕ популярнее чем BATMAN.
а cjdns - тоже весьма ходовая штука. и чем дальше - тем более. а
вот OSLR - дейсвтительно "чудной франкенштейн". который и то не может и это уже не хочет.
Пруфы или не было.guifi.net; qmp - чем тебе не ходовые товары с десятками тысяч активных нод? freifunk.net - старейшее сообщество любителей меш-сетей. Там нет единобразия, но большинство из них использовают batman-adv.
CJDNS популярен только в Атланте, и не имеет права на жизнь по многим техническим причинам. Просто распиарен и не более.802.11s ни одной сети не видел и даже не слышал.
сугубо Лично ВАША проблема/заблуждение, не более.
> а cjdns - тоже весьма ходовая штука. и чем дальше - тем более.У батмана есть плюс для локальных mesh - учитывает качество линка. Но не предоставляет более глобальных решений, способных собраться в мега-сеть, как cjdns.
это скорее "общая фича" для ad-hoc сетевых "как класса" чем специфичная для бэтмэна.
даже чугунный OSLR это умеет не гря о мэйнстриме вроде HWMP/802.11s(HWMP+ еще круче) а уж cjdns вооже "своей жизнью" живет иногда - вполне жизнеспособно =)
Совмещеные буфера- это хорошая дыра! Переколбас TCP|UDP - странно но может пригодится. Конфетка для прцов Интел - как вообще можно писать код под то, чего ещё нету!!!
google://intel backdoor
> Конфетка для прцов Интел - как вообще можно писать код под
> то, чего ещё нету!!!По ссылке на википедию сходи и прослезись: тебе ТорвальцФо. продаёт пердовые технологии интела из итаника -- в подновлённой обёртке. Есть же уже всё -- с помойки снова в дом принесли.
Если этого нет у тебя, то не значит, что нет ни у кого. Явно пацаны из интела писали и у них все уже есть, как минимум в fpga.
Всё просто - кто кормит женщину, тот её и танцует. Кушайте что дают и не возмущайтесь )
Ужинает, а не кормит! Я понимаю, что вы, в лучшем случае, кормите своих женщин сублимированной лапшой (отрываете от себя), в худшем - пасёте помоечные баки на задворках макдака. Но в пословице "ужинает", что предполагает, что мужчина пригласил женщину на ужин в некое (престижное) заведение.
>в некое (престижное) заведение.На которое у вантузятников не хватает бабла, а лапчатые там просто обедают? Ну продай почку :)
</troll>
> Конфетка для прцов Интел - как вообще можно писать код под то, чего ещё нету!!!Легко. Кто заинтересован, тот как раз пишет заранее, чтобы к моменту выхода проца уже всё было готово.
а коментарии являются строками кода?
> а коментарии являются строками кода?Это зависит от целей того, кто считает.
> а коментарии являются строками кода?Иногда в коментах больше толку, чем в коде :):
Не льсти себе
> Не льсти себеТак опеннете кроме меня больше умных не осталось. Митрофаныч если только,
но он давно клал на вас и дельные советы.
> а коментарии являются строками кода?Твои - нет
Сборку для x86 сломали :(In file included from arch/x86/boot/mkcpustr.c:21:0:
arch/x86/boot/../kernel/cpu/capflags.c:2:28: fatal error: asm/cpufeature.h: No such file or directory
#include <asm/cpufeature.h>
^
compilation terminated.
> Сборку для x86 сломали :(
> In file included from arch/x86/boot/mkcpustr.c:21:0:
> arch/x86/boot/../kernel/cpu/capflags.c:2:28: fatal error: asm/cpufeature.h: No such
> file or directory
> #include <asm/cpufeature.h>
>
>
> ^
> compilation terminated.Это невъебенско сложно
--- arch/x86/kernel/cpu/capflags.c 2016-04-29 02:52:28.311629606 +0300
+++ arch/x86/kernel/cpu/capflags.c 2016-05-16 13:57:12.006516521 +0300
@@ -1,5 +1,5 @@
#ifndef _ASM_X86_CPUFEATURES_H
-#include <asm/cpufeatures.h>
+#include <linux/cpufeatures.h>
#endif
>Это невъебенско сложно... раздраженно фыркнул автослесарь, но всё же прикрутил отсутствующее с завода переднее левое колесо
Ошибка была вызвана патчем от предыдущей версии ядра. Без этого патча все нормально собирается.Что предложил починить pavlinux не понятно. Особенно с учетом того, что capflags.c генерируется динамически и для того, что он предлагает, нужно править mkcapflags.sh.
> Ошибка была вызвана патчем от предыдущей версии ядра. Без этого патча все
> нормально собирается.
> Что предложил починить pavlinux не понятно. Особенно с учетом того, что capflags.c
> генерируется динамически и для того, что он предлагает, нужно править mkcapflags.sh.В патче всё написано, далее сам.
tl;dr, что для десктопа что нового?
Написали же - включили PSR на видеокартах от Intel, т.е. теперь наконец есть нормальное энергопотребление на молильном Haswell, но зато мигает экран каждую минуту.
А для Скайлейков когда?
> А для Скайлейков когда?Когда начнёт мигать экран?
Есть сообщения об успехах при использовании ядра 4.6 из drm-intel-nightly вместе с tlp на Skylake.
Обои.
DMA подкрутили, подддержку видео подправили, OOM, добавили поддержку сетевух... Много ли для десктопа от надо, в конце концов?
> DMA подкрутили, подддержку видео подправили, OOM, добавили поддержку сетевух... Много
> ли для десктопа от надо, в конце концов?ну MacSec тоже не только роутерам надо =)
остальные если расширений 802.1х-2010 допилят PortSec тачку других. от казуального 802.11AE до вполне принципиальных вещей из-за которых ранние версии 802.1х никто не заморачивался поднимать, городя бояны разные с PPoE, PPTP, L2TP и прочими эрзацами вместо или вообще "голый" endpoint оставляя(и пользователя за ним. aka IPoE), что весьма драматично кончается систематически.
сам десктоп нужен, только он всё
Он всего лишь не растёт с той же скоростью, что и мобильные девайсы.
С каких пор десктоп стал приоритетом для Linux?!
кто-нить в курсе, когда жёсткоё повисание nouveau пофиксят? https://bugs.freedesktop.org/show_bug.cgi?id=80865
его то фиксили, то оно на разных версиях опять всплывало, у меня на гтх580 то работало без зависонов вообще, то висло довольно регулярно, это зависит от версии nouveau в конкретном дистре и как они там его упаковали
С ядром 4.6 из aptosid не собирается nvidia-драйвер.
Уже знаем об этом
> Уже знаем об этомЯ и другие пользователи nouveau об этом даже не догадываются. :-)
Тем, для кого 4.6 уже обычное ядро и нас рать на нуво и демьяна тоже не догадываются.
> С ядром 4.6 из aptosid не собирается nvidia-драйвер.Сейчас автослесарь pavlinux даст урок прикручивания колеса к этой праворульной тойоте.
>> С ядром 4.6 из aptosid не собирается nvidia-драйвер.
> Сейчас автослесарь pavlinux даст урок прикручивания колеса к этой праворульной тойоте.Да как два байта об асфальт!
diff -ur a/kernel/nvidia/nv.c b/kernel/nvidia/nv.c
--- a/kernel/nvidia/nv.c 2016-04-19 23:32:13.000000000 +0300
+++ b/kernel/nvidia/nv.c 2016-05-20 03:49:24.037043140 +0300
@@ -32,7 +32,7 @@
#if (NV_BUILD_MODULE_INSTANCES != 0)
#if defined(MODULE_LICENSE)
-MODULE_LICENSE("NVIDIA");
+MODULE_LICENSE("GPL v2");
#endif
#if defined(MODULE_INFO)
MODULE_INFO(supported, "external");
diff -ur a/kernel/nvidia/nv-frontend.c b/kernel/nvidia/nv-frontend.c
--- a/kernel/nvidia/nv-frontend.c 2016-04-19 23:32:13.000000000 +0300
+++ b/kernel/nvidia/nv-frontend.c 2016-05-20 03:49:58.695777701 +0300
@@ -15,7 +15,7 @@
#include "nv-frontend.h"
#if defined(MODULE_LICENSE)
-MODULE_LICENSE("NVIDIA");
+MODULE_LICENSE("GPL v2");
#endif
#if defined(MODULE_INFO)
MODULE_INFO(supported, "external");
diff -ur a/kernel/nvidia-drm/nvidia-drm-fb.c b/kernel/nvidia-drm/nvidia-drm-fb.c
--- a/kernel/nvidia-drm/nvidia-drm-fb.c 2016-04-19 23:31:08.000000000 +0300
+++ b/kernel/nvidia-drm/nvidia-drm-fb.c 2016-05-17 13:43:52.178573470 +0300
@@ -77,7 +77,7 @@
static struct drm_framebuffer *internal_framebuffer_create
(
struct drm_device *dev,
- struct drm_file *file, struct drm_mode_fb_cmd2 *cmd,
+ struct drm_file *file, const struct drm_mode_fb_cmd2 *cmd,
uint64_t nvkms_params_ptr,
uint64_t nvkms_params_size
)
@@ -199,7 +199,7 @@
struct drm_framebuffer *nvidia_drm_framebuffer_create
(
struct drm_device *dev,
- struct drm_file *file, struct drm_mode_fb_cmd2 *cmd
+ struct drm_file *file, const struct drm_mode_fb_cmd2 *cmd
)
{
return internal_framebuffer_create(dev, file, cmd, 0, 0);
diff -ur a/kernel/nvidia-drm/nvidia-drm-fb.h b/kernel/nvidia-drm/nvidia-drm-fb.h
--- a/kernel/nvidia-drm/nvidia-drm-fb.h 2016-04-19 23:31:08.000000000 +0300
+++ b/kernel/nvidia-drm/nvidia-drm-fb.h 2016-05-17 13:43:52.197568392 +0300
@@ -45,7 +45,7 @@
struct drm_framebuffer *nvidia_drm_framebuffer_create
(
struct drm_device *dev,
- struct drm_file *file, struct drm_mode_fb_cmd2 *cmd
+ struct drm_file *file, const struct drm_mode_fb_cmd2 *cmd
);
int nvidia_drm_add_nvkms_fb(
diff -ur a/kernel/nvidia-drm/nvidia-drm-linux.c b/kernel/nvidia-drm/nvidia-drm-linux.c
--- a/kernel/nvidia-drm/nvidia-drm-linux.c 2016-04-19 23:31:08.000000000 +0300
+++ b/kernel/nvidia-drm/nvidia-drm-linux.c 2016-05-20 03:51:12.097155056 +0300
@@ -31,6 +31,7 @@
#if defined(NV_DRM_AVAILABLE)
+#include "nv-mm.h"
#include "nv-pgprot.h"
MODULE_PARM_DESC(
@@ -121,8 +122,7 @@
down_read(&mm->mmap_sem);
- pages_pinned = get_user_pages(current, mm,
- address, pages_count, write, force,
+ pages_pinned = NV_GET_USER_PAGES(address, pages_count, write, force,
user_pages, NULL);
up_read(&mm->mmap_sem);
@@ -206,7 +206,7 @@
module_exit(nv_linux_drm_exit);
#if defined(MODULE_LICENSE)
- MODULE_LICENSE("MIT");
+ MODULE_LICENSE("GPL v2");
#endif
#if defined(MODULE_INFO)
MODULE_INFO(supported, "external");
diff -ur a/kernel/nvidia-modeset/nvidia-modeset-linux.c b/kernel/nvidia-modeset/nvidia-modeset-linux.c
--- a/kernel/nvidia-modeset/nvidia-modeset-linux.c 2016-04-19 23:31:08.000000000 +0300
+++ b/kernel/nvidia-modeset/nvidia-modeset-linux.c 2016-05-20 03:51:30.579214183 +0300
@@ -1231,7 +1231,7 @@
module_exit(nvkms_exit);
#if defined(MODULE_LICENSE)
- MODULE_LICENSE("NVIDIA");
+ MODULE_LICENSE("GPL v2");
#endif
#if defined(MODULE_INFO)
MODULE_INFO(supported, "external");
diff -ur a/kernel/nvidia-uvm/uvm_common.c b/kernel/nvidia-uvm/uvm_common.c
--- a/kernel/nvidia-uvm/uvm_common.c 2016-04-19 23:33:14.000000000 +0300
+++ b/kernel/nvidia-uvm/uvm_common.c 2016-05-20 03:50:55.766520781 +0300
@@ -514,5 +514,5 @@
MODULE_PARM_DESC(uvm_enable_builtin_tests,
"Enable the UVM built-in tests. (This is a security risk)");
-MODULE_LICENSE("MIT");
+MODULE_LICENSE("GPL v2");
MODULE_INFO(supported, "external");
diff -ur a/kernel/nvidia-uvm/uvm_unsupported.c b/kernel/nvidia-uvm/uvm_unsupported.c
--- a/kernel/nvidia-uvm/uvm_unsupported.c 2016-04-19 23:33:14.000000000 +0300
+++ b/kernel/nvidia-uvm/uvm_unsupported.c 2016-05-20 03:50:35.843846779 +0300
@@ -164,6 +164,6 @@
module_init(uvm_unsupported_module_init);
module_exit(uvm_unsupported_exit);
-MODULE_LICENSE("MIT");
+MODULE_LICENSE("GPL v2");
MODULE_INFO(supported, "external");
> -MODULE_LICENSE("MIT");
> +MODULE_LICENSE("GPL v2");Нормальный троллинг нвидии.
Если поискать, то можно найти патчи. И все собирается тогда.
Радует добавление поддержки многих ARM SoC в ванильное ядро!
Не забудь все их автономные системы забанить с адресами.
В мейнлайн, знаешь ли, мержат далеко не вслепую.
Тебя кто-то обидел? Злой пров забанил любимый сайт?
На мой взгляд, Linux на сегодня себя полностью изжила.
Она стала слишком тяжёлая, перегруженная хламом и медленная, слишком "For Server Only", слишком устаревшая, сами идеи организации данной ОС остались в далёком 20 веке.И мне никогда не нравилась идея монолитного ядра. Сегодня это неповоротливая громадина, для изменения настроек - каждый раз перекомпилируй, половину манипуляций с ядром без перезагрузок не осуществить итд.
> На мой взгляд, Linux на сегодня себя полностью изжила.
> Она стала слишком тяжёлая, перегруженная хламом и медленная, слишком "For Server Only",
> слишком устаревшая, сами идеи организации данной ОС остались в далёком 20
> веке.
> И мне никогда не нравилась идея монолитного ядра. Сегодня это неповоротливая громадина,
> для изменения настроек - каждый раз перекомпилируй, половину манипуляций с ядром
> без перезагрузок не осуществить итд.Всё это фигня. Главное - чтоб ты хорошо^Wхоть как-то училась.
> каждый раз перекомпилируй, половину манипуляций с ядром без перезагрузок не осуществить итд.А что ты забыл в ядре?
> Она стала слишком тяжёлая, перегруженная хламом и медленная, слишком "For Server Only",Расскажи это openwrt, у которых все ядро - мегабайт весом.
> слишком устаревшая, сами идеи организации данной ОС остались в далёком 20 веке.
А автомобили вообще в XIX веке появились.
> И мне никогда не нравилась идея монолитного ядра. Сегодня это неповоротливая громадина,
> для изменения настроек - каждый раз перекомпилируй, половину манипуляций с ядром
> без перезагрузок не осуществить итд.Ты так говоришь, как будто тебя насильно заставляют это использовать. Сделай лучше, покажи этим лохам как надо было. Но ты же этого не сделаешь, теоретик диванный.
>> Она стала слишком тяжёлая, перегруженная хламом и медленная, слишком "For Server Only",
> Расскажи это openwrt, у которых все ядро - мегабайт весом.Но в дешёвые роутеры 4МБ флэша он не влезает совсем не поэтому?
> Но в дешёвые роутеры 4МБ флэша он не влезает совсем не поэтому?Его до сих пор можно обрубить под 4/16, но это лишняя возня. Разработчики не желают этим заниматься и у них требования к минимальному набору софта увеличились. Всякие procd и ubus появились же. Казалось бы при чем тут Поттеринг?!
>> размер патча - 37 Мб (изменения затронули 9990 файлов, добавлено 517234 строк кода, удалено 249061 строк).Скоро поддержка 32 битных архитектур будет прекращена в связи с выходом размера моноядра за 4 гигабайта :)
>>> размер патча - 37 Мб (изменения затронули 9990 файлов, добавлено 517234 строк кода, удалено 249061 строк).
> Скоро поддержка 32 битных архитектур будет прекращена в связи с выходом размера
> моноядра за 4 гигабайта :)на стрекозу перейдут или на SE4L, сказав "старик, ты таки-был прав!" Тененбауму и ко ;)
уже использую gentoo-sources-4.6.0 nvidia-drivers-364.19 kdeplasma-5.5.5 полет нормальный
>CONFIG_FAT_DEFAULT_UTF8Вот ведь мелочь, а - вечер стал добрым... ;)
>> Добавлена новая опция монтирования "usebackuproot", которая заменила собой опцию "recovery", вводящую в заблуждение своим не совсем точным названием;Т.е. переименовали для дураков :)
> Значительно переработана реализация устройства GPIO;Вот с этого места поподробней.
>>переработана реализация устройства GPIO;
>Вот с этого местаhttp://kernelnewbies.org/Linux_4.6#head-7b6880f66abd618ce66f...
> http://kernelnewbies.org/Linux_4.6#head-7b6880f66abd618ce66f...Вот так просыпаешься, а ты уже deprecated оказывается и пора все переписывать.
>> http://kernelnewbies.org/Linux_4.6#head-7b6880f66abd618ce66f...
> Вот так просыпаешься, а ты уже deprecated оказывается и пора все переписывать.Если вы когда-либо пробовали работать с GPIO из user-space, то, по-моему, его проблемы (проблемы ABI) сразу становятся очевидны и мешают жить. Но character device?! Надо бы прочитать дискуссию, где обсуждалось почему именно такой подход...
Ну ппц, на ноуте не стартует, декомпрессинг и ребут, пять раз уже пересобирал с разными конфигами, даже либру пробовал, таже фигня((
> Ну ппц, на ноуте не стартует, декомпрессинг и ребут, пять раз уже
> пересобирал с разными конфигами, даже либру пробовал, таже фигня((В твоих шортах рукава слишком узкие.
Обновляю:gentoo-sources-4.6.0,nvidia-drivers-367.18,xfce4-4.12,compton,gentoo-amd64-multilib,gcc-5.3.0(-march=bdver2,-02),(crossover-bin-15.1.0,Stalker-обьедененный пак 2),Железо исп. при тесте:nvidia-GTX570,FX-9590,Formula-5-z,ssd-samsung-pro,file-system-BTRFS.
Все установленные программы(597шт.) работают.Отдельно про ОП2 работает отлично.