search for: ttm_bo_release

Displaying 20 results from an estimated 35 matches for "ttm_bo_release".

2020 Oct 24
1
kvm+nouveau induced lockdep gripe
...lock){+.+.}-{3:3}: > [ 70.136209] __mutex_lock+0x90/0x9c0 > [ 70.136252] nouveau_mem_fini+0x4c/0x70 [nouveau] > [ 70.136294] nouveau_sgdma_destroy+0x20/0x50 [nouveau] > [ 70.136302] ttm_bo_cleanup_memtype_use+0x3e/0x60 [ttm] > [ 70.136310] ttm_bo_release+0x29c/0x600 [ttm] Looks like we can break the lock chain by moving ttm bo's release method out of mmap_lock, see diff below. > [ 70.136317] ttm_bo_vm_close+0x15/0x30 [ttm] > [ 70.136324] remove_vma+0x3e/0x70 > [ 70.136329] __do_munmap+0x2b7/0x4f0 > [ 7...
2014 Oct 10
1
[Bug 84880] New: [NV94] X freeze on nouveau list_del corruption / unable to handle kernel paging request
...Oct 10 10:36:18 adam.happyassassin.net kernel: [<ffffffffa0087255>] ttm_tt_destroy+0x65/0x70 [ttm] Oct 10 10:36:18 adam.happyassassin.net kernel: [<ffffffffa008787f>] ttm_bo_cleanup_memtype_use+0x3f/0x90 [ttm] Oct 10 10:36:18 adam.happyassassin.net kernel: [<ffffffffa00886a3>] ttm_bo_release+0x273/0x2a0 [ttm] Oct 10 10:36:18 adam.happyassassin.net kernel: [<ffffffffa00886f9>] ttm_bo_unref+0x29/0x30 [ttm] Oct 10 10:36:18 adam.happyassassin.net kernel: [<ffffffffa008bd14>] ttm_bo_vm_close+0x34/0x60 [ttm] Oct 10 10:36:18 adam.happyassassin.net kernel: [<ffffffff811c6a72&...
2017 Feb 14
1
NVAC: WARN_ON(nvbo->pin_refcnt > 0);
...[nouveau] Modules linked in: ... nouveau mxm_wmi video i2c_algo_bit ttm drm_kms_helper drm wmi ... CPU: 1 PID: 701 Comm: Xorg Not tainted 4.10.0-0.rc8.git0.1.fc26.x86_64 #1 ... Call Trace: dump_stack+0x63/0x84 __warn+0xcb/0xf0 warn_slowpath_null+0x1d/0x20 nouveau_bo_del_ttm+0x7f/0x90 [nouveau] ttm_bo_release_list+0xd7/0x1e0 [ttm] ttm_bo_release+0x19c/0x250 [ttm] ttm_bo_unref+0x23/0x30 [ttm] nouveau_gem_object_del+0x8f/0xe0 [nouveau] drm_gem_object_free+0x29/0x70 [drm] drm_gem_object_unreference_unlocked+0x34/0x80 [drm] drm_gem_object_handle_unreference_unlocked+0x69/0xc0 [drm] drm_gem_object_rel...
2017 Apr 06
0
NVAC - WARN_ON(nvbo->pin_refcnt > 0);
...7f/0x90 [nouveau] Modules linked in: ... nouveau mxm_wmi video i2c_algo_bit ttm drm_kms_helper drm wmi ... CPU: 3 PID: 692 Comm: Xorg Not tainted 4.10.8-1002.fc24.x86_64 #1 ... Call Trace: dump_stack+0x63/0x86 __warn+0xcb/0xf0 warn_slowpath_null+0x1d/0x20 nouveau_bo_del_ttm+0x7f/0x90 [nouveau] ttm_bo_release_list+0xcb/0x210 [ttm] ttm_bo_release+0x198/0x240 [ttm] ttm_bo_unref+0x24/0x30 [ttm] nouveau_gem_object_del+0x94/0xf0 [nouveau] drm_gem_object_free+0x29/0x70 [drm] drm_gem_object_unreference_unlocked+0x3a/0xa0 [drm] drm_gem_object_handle_unreference_unlocked+0x65/0xb0 [drm] drm_gem_object_rel...
2019 Sep 16
4
[PATCH 0/4] drm/nouveau: Miscellaneous fixes
From: Thierry Reding <treding at nvidia.com> Hi Ben, these are fixes for a couple of issues that I've been running into when testing on various Tegra boards. The first two patches fix up issues in the fix that I had sent out earlier to fix the regression introduced in drm-misc-next. The first one is critical because it avoids a BUG_ON as reported by Ilia, while the second is less
2020 Sep 01
0
[PATCH 3/3] drm/ttm: remove io_reserve_lru handling v2
...r_type(bdev, mem->mem_type); int ret; - ret = ttm_mem_io_lock(old_man, true); - if (unlikely(ret != 0)) - goto out_err; - ttm_bo_unmap_virtual_locked(bo); - ttm_mem_io_unlock(old_man); + ttm_bo_unmap_virtual(bo); /* * Create and bind a ttm if required. @@ -538,7 +534,6 @@ static void ttm_bo_release(struct kref *kref) struct ttm_buffer_object *bo = container_of(kref, struct ttm_buffer_object, kref); struct ttm_bo_device *bdev = bo->bdev; - struct ttm_resource_manager *man = ttm_manager_type(bdev, bo->mem.mem_type); size_t acc_size = bo->acc_size; int ret; @@ -556,9 +55...
2019 Sep 05
1
[PATCH 1/8] drm/ttm: turn ttm_bo_device.vma_manager into a pointer
...(r) { DRM_ERROR("failed initializing buffer object driver(%d).\n", r); diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 58d1f2b28132..8dc26babc5cb 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); + drm_vma_offset_remove(bdev->vma_manager, &bo->base.vma_node); tt...
2019 Sep 05
1
[PATCH 1/8] drm/ttm: turn ttm_bo_device.vma_manager into a pointer
...(r) { DRM_ERROR("failed initializing buffer object driver(%d).\n", r); diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 58d1f2b28132..8dc26babc5cb 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); + drm_vma_offset_remove(bdev->vma_manager, &bo->base.vma_node); tt...
2019 Sep 05
1
[PATCH 1/8] drm/ttm: turn ttm_bo_device.vma_manager into a pointer
...(r) { DRM_ERROR("failed initializing buffer object driver(%d).\n", r); diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 58d1f2b28132..8dc26babc5cb 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); + drm_vma_offset_remove(bdev->vma_manager, &bo->base.vma_node); tt...
2020 Oct 23
0
kvm+nouveau induced lockdep gripe
...-> #1 (&cli->lock){+.+.}-{3:3}: [ 70.136209] __mutex_lock+0x90/0x9c0 [ 70.136252] nouveau_mem_fini+0x4c/0x70 [nouveau] [ 70.136294] nouveau_sgdma_destroy+0x20/0x50 [nouveau] [ 70.136302] ttm_bo_cleanup_memtype_use+0x3e/0x60 [ttm] [ 70.136310] ttm_bo_release+0x29c/0x600 [ttm] [ 70.136317] ttm_bo_vm_close+0x15/0x30 [ttm] [ 70.136324] remove_vma+0x3e/0x70 [ 70.136329] __do_munmap+0x2b7/0x4f0 [ 70.136333] __vm_munmap+0x5b/0xa0 [ 70.136338] __x64_sys_munmap+0x27/0x30 [ 70.136343] do_syscall_64+0x33/0x40...
2019 Jun 20
0
[PATCH 5/6] drm/ttm: use gem vma_node
...drm_gem_prime_mmap(gem, vma); } EXPORT_SYMBOL(drm_gem_vram_driver_gem_prime_mmap); diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 516eef3b76d5..1d91da85f399 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->vma_node); + drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); tt...
2019 Aug 02
0
[PATCH v4 08/17] drm/ttm: use gem vma_node
..._GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 36738f1a486d..2ff09d2bfddb 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->vma_node); + drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); tt...
2019 Aug 02
0
[PATCH v4 08/17] drm/ttm: use gem vma_node
..._GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 36738f1a486d..2ff09d2bfddb 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->vma_node); + drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); tt...
2019 Aug 05
0
[PATCH v5 08/18] drm/ttm: use gem vma_node
..._GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index ceff153f7e68..3e0a0cbc410e 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->vma_node); + drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); tt...
2019 Aug 05
0
[PATCH v5 08/18] drm/ttm: use gem vma_node
..._GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index ceff153f7e68..3e0a0cbc410e 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->vma_node); + drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); tt...
2019 Aug 02
0
[PATCH v4 08/17] drm/ttm: use gem vma_node
..._GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 36738f1a486d..2ff09d2bfddb 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->vma_node); + drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); tt...
2019 Aug 05
0
[PATCH v5 08/18] drm/ttm: use gem vma_node
..._GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index ceff153f7e68..3e0a0cbc410e 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->vma_node); + drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); tt...
2019 Jun 21
0
[PATCH v2 08/18] drm/ttm: use gem vma_node
..._GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 516eef3b76d5..1d91da85f399 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->vma_node); + drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); tt...
2019 Jun 21
0
[PATCH v2 08/18] drm/ttm: use gem vma_node
..._GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 516eef3b76d5..1d91da85f399 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->vma_node); + drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); tt...
2019 Jun 21
0
[PATCH v2 08/18] drm/ttm: use gem vma_node
..._GEM_TILE_NONCONTIG; if (cli->device.info.family >= NV_DEVICE_INFO_V0_FERMI) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 516eef3b76d5..1d91da85f399 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -672,7 +672,7 @@ static void ttm_bo_release(struct kref *kref) struct ttm_bo_device *bdev = bo->bdev; struct ttm_mem_type_manager *man = &bdev->man[bo->mem.mem_type]; - drm_vma_offset_remove(&bdev->vma_manager, &bo->vma_node); + drm_vma_offset_remove(&bdev->vma_manager, &bo->base.vma_node); tt...