やるきなし

2019/06/12 16:10 / Linux 5.1.8 -> 5.2-rc4

Linux 5.2 の準備のため,.configがどう変更されるのか見てみた.以下 - は削除されたもの,+ は追加されたもの.x86_64.

追加

ほか

削除

追記 (2019/7/13)

nvidia-kernel-dkms 418.74-1 と nvidia-legacy-390xx-kernel-dkms 390.116-1 で,以下の箇所で compile に失敗する(Linux 5.2.0).mm: introduce put_user_page*(), placeholder versions

/var/lib/dkms/nvidia-current/418.74/build/nvidia-uvm/uvm8_tools.c:209:13: error: conflicting types for ‘put_user_pages’
 static void put_user_pages(struct page **pages, NvU64 page_count)
             ^~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia-current/418.74/build/common/inc/nv-pgprot.h:17,
                 from /var/lib/dkms/nvidia-current/418.74/build/common/inc/nv-linux.h:20,
                 from /var/lib/dkms/nvidia-current/418.74/build/nvidia-uvm/uvm_linux.h:41,
                 from /var/lib/dkms/nvidia-current/418.74/build/nvidia-uvm/uvm_common.h:48,
                 from /var/lib/dkms/nvidia-current/418.74/build/nvidia-uvm/uvm8_tools.c:23:
./include/linux/mm.h:1075:6: note: previous declaration of ‘put_user_pages’ was here
 void put_user_pages(struct page **pages, unsigned long npages);
      ^~~~~~~~~~~~~~

./include/linux/mm.hに導入されたput_user_pagesはNVIDIAのドライバのそれと全く同じなので,以下のようにNVIDIA側でcomment outしてしまう.これでcompileできる.

--- a/nvidia-uvm/uvm8_tools.c
+++ b/nvidia-uvm/uvm8_tools.c
@@ -204,12 +204,14 @@ static bool tracker_is_counter(uvm_tools_event_tracker_t *event_tracker)
     return event_tracker != NULL && !event_tracker->is_queue;
 }
 
+/*
 static void put_user_pages(struct page **pages, NvU64 page_count)
 {
     NvU64 i;
     for (i = 0; i < page_count; i++)
         put_page(pages[i]);
 }
+*/
 
 static void unmap_user_pages(struct page **pages, void *addr, NvU64 size)
 {

Related articles