{"id":1874,"date":"2016-12-26T08:33:17","date_gmt":"2016-12-26T08:33:17","guid":{"rendered":"http:\/\/rglinuxtech.com\/?p=1874"},"modified":"2016-12-26T08:33:17","modified_gmt":"2016-12-26T08:33:17","slug":"kernel-4-10-rc1-out-ok-with-vmware-breaks-nvidia","status":"publish","type":"post","link":"https:\/\/rglinuxtech.com\/?p=1874","title":{"rendered":"KERNEL &#8211; 4.10-rc1 Out &#8211; OK with VMware, Breaks NVIDIA.."},"content":{"rendered":"<p>Kernel <strong>4.10-rc1<\/strong> is out, and <span style=\"text-decoration: underline;\">brief<\/span> details are here: <a href=\"http:\/\/lkml.iu.edu\/hypermail\/linux\/kernel\/1612.3\/00220.html\" target=\"_blank\">http:\/\/lkml.iu.edu\/hypermail\/linux\/kernel\/1612.3\/00220.html<\/a><\/p>\n<p>Installed it on the test system, and (4.9-patched) VMware 12.5.2 is OK, but the latest NVIDIA driver (375.26) fails to compile:<\/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\/kernel\/common\/inc\/nv-mm.h: In function \u2018NV_GET_USER_PAGES_REMOTE\u2019:<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/common\/inc\/nv-mm.h:86:20: error: too few arguments to function \u2018get_user_pages_remote\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> return get_user_pages_remote(tsk, mm, start, nr_pages, flags, pages, vmas);<\/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><\/pre>\n<p>There was already a patch to fix this, and details are at: <a href=\"https:\/\/devtalk.nvidia.com\/default\/topic\/982667\/linux\/heads-up-375-26-build-breaks-after-recent-commits-to-kernel\/post\/5043956\/#5043956\" target=\"_blank\">https:\/\/devtalk.nvidia.com\/default\/topic\/982667\/linux\/heads-up-375-26-build-breaks-after-recent-commits-to-kernel\/post\/5043956\/#5043956<\/a><\/p>\n<p>I applied this, but got more errors:<\/p>\n<pre><strong><span style=\"font-family: courier new,courier;\">$ cat nv-410rc1_patch.patch |patch -p0<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">patching file a\/kernel\/common\/inc\/nv-mm.h<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">patching file a\/kernel\/nvidia\/nv-p2p.c<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">patching file a\/kernel\/nvidia-drm\/nvidia-drm-fence.c<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">patching file a\/kernel\/nvidia-drm\/nvidia-drm-gem.h<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">patching file a\/kernel\/nvidia-drm\/nvidia-drm-modeset.c<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">patching file a\/kernel\/nvidia-drm\/nvidia-drm-priv.h<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">patching file a\/kernel\/nvidia-uvm\/uvm8.c<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">patching file a\/kernel\/nvidia-uvm\/uvm8_test.c<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">patching file a\/kernel\/nvidia-uvm\/uvm_lite.c<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">Hunk #1 succeeded at 1333 with fuzz 2.<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">....................................<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> &lt;&lt; Compile.. &gt;&gt;<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">....................................<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CONFTEST: drm_atomic_available<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CONFTEST: drm_atomic_modeset_nonblocking_commit_available<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-frontend.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-instance.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-acpi.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-chrdev.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-cray.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-dma.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-gvi.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-i2c.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-mempool.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-mmap.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-p2p.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> CC [M] \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-pat.o<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-pat.c: In function \u2018nvidia_cpu_callback\u2019:<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-pat.c:213:14: error: \u2018CPU_DOWN_FAILED\u2019 undeclared (first use in this function)<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> case CPU_DOWN_FAILED:<\/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\/kernel\/nvidia\/nv-pat.c:213:14: note: each undeclared identifier is reported only once for each function it appears in<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-pat.c:220:14: error: \u2018CPU_DOWN_PREPARE\u2019 undeclared (first use in this function)<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> case CPU_DOWN_PREPARE:<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~~~~~~~~~~~~~~~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">In file included from \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-pat.c:15:0:<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-pat.c: In function \u2018nv_init_pat_support\u2019:<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/common\/inc\/nv-linux.h:391:34: error: implicit declaration of function \u2018register_cpu_notifier\u2019 [-Werror=implicit-function-declaration]<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> #define register_hotcpu_notifier register_cpu_notifier<\/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\/kernel\/nvidia\/nv-pat.c:258:17: note: in expansion of macro \u2018register_hotcpu_notifier\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> if (register_hotcpu_notifier(&amp;nv_hotcpu_nfb) != 0)<\/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\/kernel\/nvidia\/nv-pat.c: In function \u2018nv_teardown_pat_support\u2019:<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/common\/inc\/nv-linux.h:388:36: error: implicit declaration of function \u2018unregister_cpu_notifier\u2019 [-Werror=implicit-function-declaration]<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> #define unregister_hotcpu_notifier unregister_cpu_notifier<\/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\/kernel\/nvidia\/nv-pat.c:283:9: note: in expansion of macro \u2018unregister_hotcpu_notifier\u2019<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> unregister_hotcpu_notifier(&amp;nv_hotcpu_nfb);<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\"> ^~~~~~~~~~~~~~~~~~~~~~~~~~<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">cc1: some warnings being treated as errors<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/usr\/src\/linux-4.10-rc1\/scripts\/Makefile.build:293: recipe for target '\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-pat.o' failed<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[3]: *** [\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/nvidia\/nv-pat.o] Error 1<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">\/usr\/src\/linux-4.10-rc1\/Makefile:1490: recipe for target '_module_\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel' failed<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[2]: *** [_module_\/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel] Error 2<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[2]: Leaving directory '\/usr\/src\/linux-4.10-rc1'<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">Makefile:150: recipe for target 'sub-make' failed<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[1]: *** [sub-make] Error 2<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make[1]: Leaving directory '\/usr\/src\/linux-4.10-rc1'<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">Makefile:81: recipe for target 'modules' failed<\/span><\/strong>\r\n<strong><span style=\"font-family: courier new,courier;\">make: *** [modules] Error 2<\/span><\/strong><\/pre>\n<p>It may be that more Kernel code changes were incorporated after the patch was created, and before 4.10-rc1 was released?<\/p>\n<p>I have just encountered a potentially more serious problem with compiling this kernel on ARM64 (aarch64) systems, but need more tests to confirm this, and will post results in a later article..<\/p>\n<p><em>Robert Gadsdon.\u00a0 December 26, 2016.<\/em><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kernel 4.10-rc1 is out, and brief details are here: http:\/\/lkml.iu.edu\/hypermail\/linux\/kernel\/1612.3\/00220.html Installed it on the test system, and (4.9-patched) VMware 12.5.2 is OK, but the latest NVIDIA driver (375.26) fails to compile: &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/common\/inc\/nv-mm.h: In function \u2018NV_GET_USER_PAGES_REMOTE\u2019: \/home\/rgadsdon\/kernel\/NVIDIA-Linux-x86_64-375.26\/kernel\/common\/inc\/nv-mm.h:86:20: error: too few arguments to function \u2018get_user_pages_remote\u2019 return get_user_pages_remote(tsk, mm, start, nr_pages, flags, pages, vmas); ^~~~~~~~~~~~~~~~~~~~~ &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. There was already <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/rglinuxtech.com\/?p=1874\"><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":[14,15,18,19,20,25],"tags":[1505,1503,1504,1506,1507],"class_list":["post-1874","post","type-post","status-publish","format-standard","hentry","category-kernel","category-linux-2","category-nvidia","category-opinion","category-performance-2","category-vmware","tag-fails-with-latest-nvidia","tag-kernel-4-10-rc1","tag-ok-with-patched-vmware","tag-partial-patch","tag-potential-aarch64-problem"],"_links":{"self":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1874","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=1874"}],"version-history":[{"count":2,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1874\/revisions"}],"predecessor-version":[{"id":1876,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=\/wp\/v2\/posts\/1874\/revisions\/1876"}],"wp:attachment":[{"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rglinuxtech.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}