やるきなし

2018/02/12 17:23 / Linux 4.15.3 -> 4.16-rc1

4.16-rc1が出たので.configがどう変更されるのか見てみた.以下 - は削除されたもの,+ は追加されたもの m->n 等は値の変化を示す.汎用指向の環境.ちなみにmake menuconfigするのにbisonflexが必要になっている.kbuild: prepare to remove C files pre-generated by flex and bison参照.

以下,その他.

なお,普段使う DKMS である以下(sid)は特に問題なく compile できている.

追記 (2018/2/19)

4.16-rc2で以下追加になった.

追記 (2018/3/5)

4.16-rc4で以下の変更があった.

追記 (2018/4/3)

4.16がリリースされていて,少し試してみたところ nvidia.ko の compile は問題ないのだが,modprobe する際に以下のようなエラーがでて nvidia.ko が利用できない(nvidia-kernel-dkms 384.111-3~bpo9+1).

Apr  2 16:02:45 XXXX kernel: [  178.010148] nvidia: Unknown symbol swiotlb_map_sg_attrs (err 0)

以下に原因と解決法がまとめられているが少し面倒.

具体的には以下の kernel の修正に対応するように nvidia の driver の source code にパッチをあてたりする必要がある.

やはり面倒なので,bpo package の更新を待つことにして 4.15 系を利用することに...

追記 (2018/4/6)

上記Unknown symbol swiotlb_map_sg_attrsの件,以下のパッチをあてることにした.usercopy: WARN() on slab cache usercopy region violations に対する対応については,手元の環境ではCONFIG_HARDENED_USERCOPYyではないので,そのまま放置(WARNINGさえ出ない).

--- a/common/inc/nv-linux.h
+++ b/common/inc/nv-linux.h
@@ -1320,7 +1320,7 @@ static inline NvU32 nv_alloc_init_flags(int cached, int contiguous, int zeroed)
 static inline NvBool nv_dma_maps_swiotlb(struct pci_dev *dev)
 {
     NvBool swiotlb_in_use = NV_FALSE;
-#if defined(CONFIG_SWIOTLB)
+#if defined(CONFIG_SWIOTLB) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
   #if defined(NV_DMA_OPS_PRESENT) || defined(NV_GET_DMA_OPS_PRESENT)
     /*
      * We only use the 'dma_ops' symbol on older x86_64 kernels; later kernels,

追記 (2018/4/25)

最近でたnvidia-kernel-dkms (390.48-2~bpo9+1)は patch 等不要で問題なく使える.

Related articles