diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1506-drm-amdkfd-Fix-ttm-warnings-when-doing-fork-with-BOs.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1506-drm-amdkfd-Fix-ttm-warnings-when-doing-fork-with-BOs.patch | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1506-drm-amdkfd-Fix-ttm-warnings-when-doing-fork-with-BOs.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1506-drm-amdkfd-Fix-ttm-warnings-when-doing-fork-with-BOs.patch deleted file mode 100644 index ba405a66..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/1506-drm-amdkfd-Fix-ttm-warnings-when-doing-fork-with-BOs.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 7d54d5964d54bfb8e788d80c291d554b4bf2cf8a Mon Sep 17 00:00:00 2001 -From: Yong Zhao <yong.zhao@amd.com> -Date: Fri, 16 Sep 2016 17:55:58 -0400 -Subject: [PATCH 1506/4131] drm/amdkfd: Fix ttm warnings when doing fork with - BOs on DGPU - -When running kfdtest, we saw floods of ttm warning messages originating -from ttm_bo_vm_open(), which is only triggered when doing fork() with -BOs on DGPU. KFD relies on amdgpu to allocate BOs, and each BO is -associated with corresponding amdgpu dev by bo->bdev->dev_mapping. -When mapping BOs on /dev/kfd, vma->vm_file->f_mapping of /dev/kfd is -used. Those two mappings are apparently different, and they could not -be reconciled because of the one to many mapping between kfd and amdgpu -devices. - -Therefore, we skip the check for KFD BOs by overwriting the open -function pointer in amdgpu_ttm_vm_ops to avoid directly making changes -in ttm. - -Fix BUG: SWDEV-101844 - -Change-Id: I26c64c5f1580aefb5ecc99fc7d2fe8397fd6e246 -Signed-off-by: Yong Zhao <yong.zhao@amd.com> -Signed-off-by: kalyan alle <kalyan.alle@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -index 50d1d55..512207e 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -@@ -1722,6 +1722,25 @@ static int amdgpu_ttm_vm_access(struct vm_area_struct *vma, unsigned long addr, - return len; - } - -+/* This function is a tweak variance of ttm_bo_vm_open() just to avoid the -+ * warning message when fork() with KFD BOs on DGPU. -+ */ -+static void amdgpu_ttm_vm_open(struct vm_area_struct *vma) -+{ -+ struct ttm_buffer_object *bo = -+ (struct ttm_buffer_object *)vma->vm_private_data; -+ struct amdgpu_bo *abo = container_of(bo, struct amdgpu_bo, tbo); -+ -+ /* Because vma->vm_file for /dev/kfd can not be associated with any -+ * ttm_bo_device due to the one to many mapping between kfd and -+ * amdgpu devices, for KFD BOs we should just skip the check. -+ */ -+ if (!abo->kfd_bo) -+ WARN_ON(bo->bdev->dev_mapping != vma->vm_file->f_mapping); -+ -+ (void)ttm_bo_reference(bo); -+} -+ - int amdgpu_bo_mmap(struct file *filp, struct vm_area_struct *vma, - struct ttm_bo_device *bdev) - { -@@ -1735,6 +1754,7 @@ int amdgpu_bo_mmap(struct file *filp, struct vm_area_struct *vma, - ttm_vm_ops = vma->vm_ops; - amdgpu_ttm_vm_ops = *ttm_vm_ops; - amdgpu_ttm_vm_ops.access = &amdgpu_ttm_vm_access; -+ amdgpu_ttm_vm_ops.open = &amdgpu_ttm_vm_open; - } - vma->vm_ops = &amdgpu_ttm_vm_ops; - --- -2.7.4 - |