{"id":1888,"date":"2017-01-02T22:20:48","date_gmt":"2017-01-02T22:20:48","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=1888"},"modified":"2017-01-02T22:20:48","modified_gmt":"2017-01-02T22:20:48","slug":"nvidia-now-a-fix-for-4-10-rc-kernels","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=1888","title":{"rendered":"NVIDIA &#8211; Now, a Fix for 4.10-rc Kernels.."},"content":{"rendered":"<p>Thanks to <strong>Tomas Pruzina<\/strong>, there is a patch for NVIDIA driver 375.26 with 4.10-rc kernels.\u00a0\u00a0 Details, and the link, are here: <a href=\"https:\/\/devtalk.nvidia.com\/default\/topic\/981993\/linux\/-patches-included-4-10-kernel-staging-\/\" target=\"_blank\">https:\/\/devtalk.nvidia.com\/default\/topic\/981993\/linux\/-patches-included-4-10-kernel-staging-\/<\/a><\/p>\n<p>Easiest way to get the patch is to select &#8216;Raw&#8217; and just cut\/paste the text..<\/p>\n<p>I have tested this on kernel <strong>4.10-rc2<\/strong>, and it compiles successfully (with a few warnings):<\/p>\n<pre><strong><span style=\"font-family: courier new,courier;\">................................<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-uvm\/uvm8.c: In function \u2018uvm_vm_fault_sigbus\u2019:<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> \/usr\/src\/linux-4.10-rc2\/include\/linux\/kern_levels.h:4:18: warning: format \u2018%p\u2019 expects argument of type \u2018void *\u2019, but argument 6 has type \u2018long unsigned int\u2019 [-Wformat=]<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> #define KERN_SOH \"\\001\" \/* ASCII Start Of Header *\/<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> \/usr\/src\/linux-4.10-rc2\/include\/linux\/printk.h:413:10: note: in definition of macro \u2018printk_ratelimited\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> printk(fmt, ##__VA_ARGS__); \\<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-uvm\/uvm_common.h:85:13: note: in expansion of macro \u2018UVM_PRINT_FUNC_PREFIX\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> UVM_PRINT_FUNC_PREFIX(func, prefix, fmt, ##__VA_ARGS__); \\<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~~~~~~~~~~~~~~~~~~~~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-uvm\/uvm_common.h:99:5: note: in expansion of macro \u2018UVM_PRINT_FUNC_PREFIX_CHECK\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> UVM_PRINT_FUNC_PREFIX_CHECK(printk_ratelimited, KERN_DEBUG NVIDIA_UVM_PRETTY_PRINTING_PREFIX, \" \" fmt, ##__VA_ARGS__)<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~~~~~~~~~~~~~~~~~~~~~~~~~~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> \/usr\/src\/linux-4.10-rc2\/include\/linux\/kern_levels.h:14:20: note: in expansion of macro \u2018KERN_SOH\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> #define KERN_DEBUG KERN_SOH \"7\" \/* debug-level messages *\/<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~~~~~~~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-uvm\/uvm_common.h:99:53: note: in expansion of macro \u2018KERN_DEBUG\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> UVM_PRINT_FUNC_PREFIX_CHECK(printk_ratelimited, KERN_DEBUG NVIDIA_UVM_PRETTY_PRINTING_PREFIX, \" \" fmt, ##__VA_ARGS__)<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~~~~~~~~~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-uvm\/uvm8.c:104:5: note: in expansion of macro \u2018UVM_DBG_PRINT_RL\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> UVM_DBG_PRINT_RL(\"Fault to address 0x%p in disabled vma\\n\", vmf-&gt;address);<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~~~~~~~~~~~~~~~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> .................................<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> Building modules, stage 2.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> MODPOST 4 modules<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-drm.mod.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-drm.ko<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-modeset.mod.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-modeset.ko<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-uvm.mod.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-uvm.ko<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia.mod.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> LD [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia.ko<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> make[2]: Leaving directory '\/usr\/src\/linux-4.10-rc2'<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> make[1]: Leaving directory '\/usr\/src\/linux-4.10-rc2'<\/span><\/strong><\/pre>\n<p>As is mentioned, the CONFIG_CPU_HOTPLUG code is simply &#8216;bypassed&#8217;, as this is very rarely needed by desktop\/workstation users..<\/p>\n<p>The patch is for 4.10-based kernels only, and is not backwards-compatible, in its current state..<\/p>\n<p><em>Robert Gadsdon\u00a0\u00a0 January 2, 2017.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thanks to Tomas Pruzina, there is a patch for NVIDIA driver 375.26 with 4.10-rc kernels.\u00a0\u00a0 Details, and the link, are here: https:\/\/devtalk.nvidia.com\/default\/topic\/981993\/linux\/-patches-included-4-10-kernel-staging-\/ Easiest way to get the patch is to select &#8216;Raw&#8217; and just cut\/paste the text.. I have tested this on kernel 4.10-rc2, and it compiles successfully (with a few warnings): &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26.patched\/kernel\/nvidia-uvm\/uvm8.c: In function \u2018uvm_vm_fault_sigbus\u2019: <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=1888\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1132,5,1238,15,18,19,20],"tags":[720,1517,1518,296],"class_list":["post-1888","post","type-post","status-publish","format-standard","hentry","category-aarch64","category-compilation","category-fix","category-linux-2","category-nvidia","category-opinion","category-performance-2","tag-compile-ok","tag-kernel-4-10","tag-nvidia-375-26","tag-patch"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1888","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1888"}],"version-history":[{"count":2,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1888\/revisions"}],"predecessor-version":[{"id":1890,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1888\/revisions\/1890"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}