<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=37636</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=37636&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125».]]></description>
		<lastBuildDate>Sat, 14 Feb 2015 20:05:06 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=445496#p445496</link>
			<description><![CDATA[<p>Патчи для <strong>304.125</strong> необходимые ядру <strong>3.19</strong>:<br /><strong>1)</strong> <span style="color: blue">nv-drm.c.patch</span><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>--- nv-drm.c    2014-12-02 06:55:59.000000000 +0300
+++ nv-drm.c    2014-12-11 22:45:40.189959532 +0300
@@ -18,7 +18,7 @@
 
 #include &lt;drm/drmP.h&gt;
 
-#if defined(NV_DRM_DRM_GEM_H_PRESENT)
+#if LINUX_VERSION_CODE &gt;= KERNEL_VERSION(3,18,0)
 #include &lt;drm/drm_gem.h&gt;
 #endif
 
@@ -75,6 +75,10 @@
     .load = nv_drm_load,
     .unload = nv_drm_unload,
     .fops = &amp;nv_drm_fops,
+    
+#if LINUX_VERSION_CODE &gt;= KERNEL_VERSION(3,18,0)
+    .set_busid = drm_pci_set_busid,
+#endif    
 
     .name = &quot;nvidia-drm&quot;,
     .desc = &quot;NVIDIA DRM driver&quot;,</code></pre></div></div></div><p><strong>2)</strong> <span style="color: blue">nv.c.patch</span><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>--- a/nv.c    2014-12-02 04:58:34.000000000 +0100
+++ b/nv.c    2014-12-21 17:50:33.420697348 +0100
@@ -2026,7 +2026,7 @@ long nv_kern_unlocked_ioctl(
     unsigned long i_arg
 )
 {
-    return nv_kern_ioctl(file-&gt;f_dentry-&gt;d_inode, file, cmd, i_arg);
+    return nv_kern_ioctl(file-&gt;f_path.dentry-&gt;d_inode, file, cmd, i_arg);
 }
 
 long nv_kern_compat_ioctl(
@@ -2035,7 +2035,7 @@ long nv_kern_compat_ioctl(
     unsigned long i_arg
 )
 {
-    return nv_kern_ioctl(file-&gt;f_dentry-&gt;d_inode, file, cmd, i_arg);
+    return nv_kern_ioctl(file-&gt;f_path.dentry-&gt;d_inode, file, cmd, i_arg);
 }
 
 /*</code></pre></div></div></div><br /><p>Ставить примерно <a href="http://linuxforum.ru/viewtopic.php?pid=435199#p435199">так</a>.<br /><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">verg@localhost:~&gt; inxi -SG<br />System:&nbsp; &nbsp; Host: localhost Kernel: 3.19.0-1.g8a7d5f9-desktop i686 (32 bit) Desktop: KDE 4.14.4<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Distro: openSUSE 13.2 (Harlequin)<br />Graphics:&nbsp; Card: NVIDIA G73 [GeForce 7600 GS]<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Display Server: X.Org 1.17.1 driver: nvidia Resolution: 1920x1080@60.00hz<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GLX Renderer: GeForce 7600 GS/AGP/SSE2 GLX Version: 2.1.2 NVIDIA 304.125</div></p>]]></description>
			<author><![CDATA[null@example.com (verg)]]></author>
			<pubDate>Sat, 14 Feb 2015 20:05:06 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=445496#p445496</guid>
		</item>
		<item>
			<title><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=445494#p445494</link>
			<description><![CDATA[<p><strong>verg</strong>, 340.76 ставил. Все норм вроде.</p>]]></description>
			<author><![CDATA[null@example.com (baralgin)]]></author>
			<pubDate>Sat, 14 Feb 2015 19:36:43 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=445494#p445494</guid>
		</item>
		<item>
			<title><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=445490#p445490</link>
			<description><![CDATA[<div class="quotebox"><cite>verg пишет:</cite><blockquote><p>304.125 по-любому потребует патча,</p></blockquote></div><p>Только патч от 3.18 не подойдёт.</p>]]></description>
			<author><![CDATA[null@example.com (verg)]]></author>
			<pubDate>Sat, 14 Feb 2015 19:00:58 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=445490#p445490</guid>
		</item>
		<item>
			<title><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=445483#p445483</link>
			<description><![CDATA[<div class="quotebox"><cite>baralgin пишет:</cite><blockquote><p>Как там блоб nvidia, заводится?</p></blockquote></div><p>Какая версия блоба-то?</p><br /><p>з.ы. 304.125 по-любому потребует патча, а новые блобы этого года 346.35 и 340.76 должны ставиться без проблем.</p>]]></description>
			<author><![CDATA[null@example.com (verg)]]></author>
			<pubDate>Sat, 14 Feb 2015 18:19:48 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=445483#p445483</guid>
		</item>
		<item>
			<title><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=445454#p445454</link>
			<description><![CDATA[<p>Linux kernel 2.6.18* and newer&nbsp; ))<br />Обновился, полет нормальный.</p>]]></description>
			<author><![CDATA[null@example.com (baralgin)]]></author>
			<pubDate>Sat, 14 Feb 2015 16:15:27 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=445454#p445454</guid>
		</item>
		<item>
			<title><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=445433#p445433</link>
			<description><![CDATA[<p>Можно зайти на фтп нвидии и посмотреть примечания к последней версии, можно установить ядро 3.19 не удаляя текущее и проверить.</p>]]></description>
			<author><![CDATA[null@example.com (1000Mhz)]]></author>
			<pubDate>Sat, 14 Feb 2015 12:18:48 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=445433#p445433</guid>
		</item>
		<item>
			<title><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=445422#p445422</link>
			<description><![CDATA[<p>Обновился кто нибудь на kernel 3.19? Как там блоб nvidia, заводится?</p>]]></description>
			<author><![CDATA[null@example.com (baralgin)]]></author>
			<pubDate>Sat, 14 Feb 2015 09:40:41 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=445422#p445422</guid>
		</item>
		<item>
			<title><![CDATA[Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=444978#p444978</link>
			<description><![CDATA[<p>После двух месяцев разработки Линус Торвальдс <a href="http://lkml.iu.edu/hypermail/linux/kernel/1502.1/00199.html">анонсировал</a> релиз ядра <a href="https://www.kernel.org/">Linux 3.19</a>. Среди наиболее заметных улучшений: средства защиты от переполнения буфера на основе расширений Intel MPX, проверка целостности и быстрая замена дисков в Btrfs RAID 5/6, сжатие LZ4 в squashfs, возможность привязки BPF-программ к сетевым сокетам, протокол TIPC, системный вызов execveat(), драйвер &quot;ipvlan&quot; для связи контейнеров, драйвер &quot;AMD KFD&quot; для GPGPU-вычислений, поддержка архитектуры Altera Nios II.</p><p>В новую версию принято примерно 11500 исправлений от 1200 разработчиков, размер патча - 38 Мб (изменения затронули 10742 файлов, добавлено 487475 строк кода, удалено 350946 строк). Около 46% всех представленных в 3.19 изменений связаны с драйверами устройств, примерно 19% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 4% - файловыми системами и 4% c внутренними подсистемами ядра.</p><p>Из наиболее интересных <a href="http://kernelnewbies.org/Linux_3.19">новшеств</a> можно отметить:</p><ul><li><p>Дисковая подсистема, ввод/вывод и файловые системы<br /></p><ul><li><p>В Btrfs появилась возможность быстрой замены дисков в RAID 5/6 без предварительного добавления нового диска, переноса данных и вывода из массива старого диска, т.е. теперь при помощи утилиты btrfs-replace можно просто поменять на лету один диск на другой, как это делалось для накопителей, не состоящих в RAID. Для RAID 5/6 также добавлена функция проверки целостности данных (&quot;Scrubbing&quot;, сверка контрольных сумм, сохранённых и вычисленных на основе фактических данных), которая ранее не могла быть применена к RAID разделам Btrfs;</p></li><li><p>Существенно увеличена производительность модуля Device Mapper, обеспечивающего динамическое выделение места в хранилище (thin provisioning) и позволяющего создать несколько виртуальных дисковых разделов, суммарный размер которых превышает физический размер доступных накопителей, а физическое дисковое пространство выделяется по мере необходимости. Производительность возросла в основном благодаря поддержке агрегирования операций с идентичными блоками на стадии перед обращением к основному устройству;</p></li><li><p>В файловой системе Ceph добавлена поддержка inline-размещения данных, что привело к увеличению производительности при работе с мелкими файлами. Также добавлена поддержка верификации сообщений по цифровой подписи для аутентификации обмена данными между клиентами и серверами Ceph;</p></li><li><p>В F2FS, развиваемую компанией Samsung высокопроизводительную файловую систему для Flash-накопителей, добавлена опция &quot;fastboot&quot;, которую можно использовать для сокращения числа проверок во время загрузки;</p></li><li><p>В файловую систему squashfs добавлена поддержка сжатия данных с использованием алгоритма LZ4;</p></li></ul></li><li><p>Виртуализация и безопасность<br /></p><ul><li><p>Поддержка расширений <a href="http://en.wikipedia.org/wiki/Intel_MPX">MPX</a> (Memory Protection Extensions), которые появятся в следующих поколениях микроархитектур процессоров Intel (Skylake и Goldmont) и дадут возможность организовать проверку указателей на соблюдение границ, связанных с ними областей памяти. Для использования данной возможности для каждой ссылки на память процессору необходимо сообщить сведения о допустимых границах области памяти, что требует дополнительной адаптации программного обеспечения, т.е. использование для сборки компилятора и runtime-библиотек, поддерживающих MPX. С практической стороны, MPX позволит выявлять ошибки при работе с памятью и блокировать совершение атак, основанных на переполнении буфера.</p></li><li><p>Добавлен драйвер &quot;ipvlan&quot;, позволяющий создавать виртуальные сетевые устройства для связи между изолированными контейнерами. Драйвер напоминает macvlan, но рассчитан на эффективную работу с сетевыми пространствами имён (network namespaces) и производит мультиплексирование трафика на более высоком уровне сетевого стека;</p></li><li><p>Для архитектуры ARM64 реализован механизм seccomp, <a href="http://www.opennet.ru/opennews/art.shtml?num=33654">используемый</a> для ограничения доступа приложений к системным вызовам;</p></li><li><p>В связи с устранением возможного вектора атаки (CVE-2014-8989) изменена обработка системного вызова setgroups(), при его использовании в пространствах имён для непривилегированных пользователей (user namespaces), что <a href="http://lwn.net/Articles/626665/">может</a> потенциально привести к нарушению нормальной работы некоторых приложений, выполняющих маппинг произвольных идентификаторов групп пользователей.</p></li><li><p>Прекращена поддержка использования системы виртуализации KVM на серверах с архитектурой Itanium (ia64), так как данная возможность не использовалась на практике и оставалась без сопровождения;</p></li><li><p><a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=af8e80731a94ff9de9508b01d9e5d931d538dc6b">Добавлен</a> интерфейс для доступа из пространства пользователя к функциям блочного шифрования <a href="https://ru.wikipedia.org/wiki/AEAD_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC_%D0%B1%D0%BB%D0%BE%D1%87%D0%BD%D0%BE%D0%B3%D0%BE_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F">AEAD</a>;</p></li><li><p>Подсистема virtio значительно <a href="http://lwn.net/Articles/580186/">доработана</a> в плане обеспечения поддержки стандарта virtio 1.0;</p></li></ul></li><li><p>Сетевая подсистема<br /></p><ul><li><p>В клиент и сервер NFS добавлена поддержка опций ALLOCATE и DEALLOCATE, определённых в стандарте NFS 4.2 и позволяющих заранее зарезервировать место в хранилище для файла, до его фактической записи;</p></li><li><p>В сетевой стек добавлена новая подсистема для задействования аппаратных механизмов ускорения коммутации и маршрутизации на поддерживающем данные возможности оборудовании;</p></li><li><p><a href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=49ed2617a06abacaccd46fa88ae14c333baa15f0">Добавлен</a> netlink API для сетевого протокола <a href="http://tipc.sourceforge.net/">TIPC</a> (Transparent Inter-process Communication), предназначенного для организации межпроцессного взаимодействия в кластере. Протокол предоставляет средства для быстрого и надёжного взаимодействия приложений, независимо от того, на каких узлах в кластере они выполняются.</p></li><li><p>В подсистеме InfiniBand обеспечена поддержка подкачки по необходимости (on-demand paging), что позволяет создавать и размещать области RDMA через обработчик обращений к невыделенным страницам памяти (page faults), т.е. расходовать память тогда, когда она действительно используется;</p></li></ul></li><li><p>Память и системные сервисы<br /></p><ul><li><p>В системный вызов getsockopt() добавлена новая опция SO_INCOMING_CPU, при помощи которой можно определить CPU, используемый для обработки указанного сокета. Используя данную опцию приложение может распределить связанную с сокетами работу по нескольким процессорам, увеличив общую пропускную способность;</p></li><li><p><a href="http://lwn.net/Articles/625224/">Возможность</a> привязки расширенных BPF-программ к сетевым сокетам. В настоящее время функциональность ограничена сбором статистики, но в будущем ожидается добавление возможностей по установке фильтров;</p></li><li><p>Добавлен системный вызов execveat(), который позволяет запустить исполняемый файл из открытого файлового дескриптора или определить исполняемый файл при передаче файлового дескриптора директории;</p></li><li><p>Из экспериментального staging-дерева в основной состав ядра перемещён механизм межпроцессного взаимодействия Binder, предложенный разработчиками платформы Android;</p></li><li><p><a href="http://lwn.net/Articles/616859/">Поддержка</a> оверлеев <a href="http://devicetree.org/">Device Tree</a>, призванных упростить получение информации о вспомогательном оборудовании на стадии загрузки системы;</p></li><li><p>В подсистему ftrace добавлена возможность использования в фильтрах выражений с логической операцией НЕ (&quot;!&quot;);</p></li><li><p>Добавлен новый внутренний API, позволяющий унифицировать доступ драйверов к параметрам оборудования через ACPI или Вevice Tree, скрывая особенности работы через данные интерфейсы;</p></li><li><p>Продолжена работа над устранением <a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0">проблемы 2038 года</a>, вызванной переполнением 32-разрядного типа time_t. Внутренние функции ядра do_settimeofday(), timekeeping_inject_sleeptime() и mktime() заменены на варианты, в которых используется 64-разрядный тип time64_t или timespec64.</p></li></ul></li><li><p>Аппаратные архитектуры<br /></p><ul><li><p>Поддержка микропроцессорной архитектуры с программным ядром <a href="http://www.altera.com/devices/processor/nios2/ni2-index.html">Altera Nios II</a> (<a href="https://ru.wikipedia.org/wiki/Soft-%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80">soft-процессор</a>), конкурирующей с архитектурой MicroBlaze;</p></li></ul></li><li><p>Оборудование<br /></p><ul><li><p>Добавлен драйвер &quot;<a href="https://github.com/HSAFoundation/HSA-Drivers-Linux-AMD">AMD KFD</a>&quot;, предоставляющий новый интерфейс для использования вычислительных возможностей графических процессоров в приложениях, не связанных с графикой (GPGPU). Взаимодействие с драйвером на пользовательском уровне осуществляется через библиотеку HSA (Heterogenous System Architecture), которая позволяет использовать OpenCL для организации гибридных вычислений и наладить совместную работу CPU, GPU и иных процессоров, в которых подходящее вычислительное устройство выбирается в прозрачном режиме в зависимости от задачи. В HSA CPU и GPU имеют доступ к единым областям памяти, что упрощает организацию работы гибридных приложений;</p></li><li><p>В компоненты прямого рендеринга (DRM) <a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=122387a53eeac62e6546fd707259b63feca2d839">добавлена</a> поддержка атомарного переключения видеорежимов, позволяющая разом, в рамках одной атомарной операции, изменить несколько параметров графического режима. Вызов ioctl() для обращения к данной функциональности из пространства пользователя ожидается в ветке ядра 3.20;</p></li><li><p>В DRM-драйвер Nouveau добавлена частичная поддержка видеокарт NVIDIA GeForce 900 (GPU GM204), реализована возможность управления напряжением в Tegra K1;</p></li><li><p>В DRM-драйвере Intel реализована начальная поддержка графической подсистемы процессоров нового поколения, построенных в соответствии с микроархитектурой Skylake. По умолчанию включен режим PPGTT (Per-Process Graphics Translation Tables), который может использоваться для изоляции доступа к GPU в гостевых системах;</p></li><li><p>В DRM-драйвере Radeon улучшены средства управления скоростью вращения кулера для Radeon HD 7000 и более новых GPU;</p></li><li><p>Поддержка GPU, используемых в SoC Freescale i.MX и Rockchip;</p></li><li><p>Поддержка звуковых устройств на чипах Intel Baytrail;</p></li><li><p>Поддержка контроллеров USB 3.0 от компании Broadcom;</p></li><li><p>В Video4Linux добавлены драйверы для видеоустройств DVBSky S950 V3, тюнеров Montage M88RS6000, демодуляторов Panasonic MN88472 и MN88473, и ресиверов для пультов ДУ Amlogic Meson.</p></li><li><p>Поддержка SoC Amlogic Meson8, Allwinner A80, Samsung Exynos4415, Freescale LS1021A, Alphascale ASM9260 и AMD Seattle;</p></li><li><p>Поддержка SCSI-адаптеров Tekram DC390(T), Am53/79C974 и Western Digital WD7193/7197/7296.</p></li></ul></li></ul><p>Источник: <a href="http://www.opennet.ru/opennews/art.shtml?num=41634">http://www.opennet.ru/opennews/art.shtml?num=41634</a></p>]]></description>
			<author><![CDATA[null@example.com (Rizado)]]></author>
			<pubDate>Mon, 09 Feb 2015 11:26:19 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=444978#p444978</guid>
		</item>
	</channel>
</rss>
