Christian König
2f568dbd6b
drm/amdgpu: move get_user_pages out of amdgpu_ttm_tt_pin_userptr v6
...
That avoids lock inversion between the BO reservation lock
and the anon_vma lock.
v2:
* Changed amdgpu_bo_list_entry.user_pages to an array of pointers
* Lock mmap_sem only for get_user_pages
* Added invalidation of unbound userpointer BOs
* Fixed memory leak and page reference leak
v3 (chk):
* Revert locking mmap_sem only for_get user_pages
* Revert adding invalidation of unbound userpointer BOs
* Sanitize and fix error handling
v4 (chk):
* Init userpages pointer everywhere.
* Fix error handling when get_user_pages() fails.
* Add invalidation of unbound userpointer BOs again.
v5 (chk):
* Add maximum number of tries.
v6 (chk):
* Fix error handling when we run out of tries.
Signed-off-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com > (v4)
Acked-by: Alex Deucher <alexander.deucher@amd.com >
2016-03-08 11:01:50 -05:00
..
2016-02-26 12:43:47 -05:00
2016-02-10 14:17:09 -05:00
2015-12-21 16:42:05 -05:00
2015-06-03 21:03:15 -04:00
2016-01-28 14:39:34 +02:00
2016-01-28 14:39:34 +02:00
2015-09-23 17:23:34 -04:00
2015-07-20 09:16:48 +03:00
2016-02-10 14:17:10 -05:00
2016-02-10 14:17:10 -05:00
2016-02-09 11:21:07 +01:00
2015-09-23 17:23:34 -04:00
2015-12-02 12:45:59 -05:00
2016-03-08 11:01:50 -05:00
2016-01-11 09:52:43 -05:00
2015-08-21 18:07:38 -04:00
2015-06-03 21:03:15 -04:00
2016-03-08 11:01:50 -05:00
2016-02-12 15:42:54 -05:00
2016-02-16 17:46:24 -05:00
2016-02-16 17:25:38 -05:00
2015-06-03 21:03:15 -04:00
2015-06-03 21:03:15 -04:00
2016-03-08 11:01:47 -05:00
2015-08-17 16:50:21 -04:00
2015-06-03 21:03:15 -04:00
2016-01-26 00:35:56 -05:00
2016-03-08 11:01:48 -05:00
2015-09-23 17:23:34 -04:00
2015-06-03 21:03:15 -04:00
2016-03-08 11:01:50 -05:00
2015-06-03 21:03:15 -04:00
2015-06-03 21:03:15 -04:00
2015-06-03 21:03:15 -04:00
2015-06-03 21:03:15 -04:00
2016-03-08 11:01:49 -05:00
2015-09-23 17:23:34 -04:00
2015-08-17 16:50:09 -04:00
2015-06-03 21:03:15 -04:00
2016-01-14 08:07:55 +10:00
2016-01-11 09:52:57 -05:00
2016-03-08 11:01:47 -05:00
2016-02-12 15:47:18 -05:00
2016-02-17 16:10:56 -05:00
2016-02-16 17:25:38 -05:00
2016-02-16 17:46:24 -05:00
2016-02-16 17:46:24 -05:00
2015-06-03 21:03:15 -04:00
2015-06-03 21:03:15 -04:00
2016-02-10 14:16:59 -05:00
2015-06-03 21:03:15 -04:00
2016-01-19 12:42:30 -05:00
2015-12-21 16:42:07 -05:00
2016-02-16 17:46:24 -05:00
2016-02-10 14:17:20 -05:00
2016-02-10 14:17:03 -05:00
2016-03-08 11:01:47 -05:00
2016-02-10 14:16:49 -05:00
2015-06-03 21:03:15 -04:00
2016-02-29 11:33:59 -05:00
2016-03-08 11:01:50 -05:00
2015-09-23 17:23:34 -04:00
2015-06-03 21:03:15 -04:00
2016-03-08 11:01:47 -05:00
2016-02-10 14:17:23 -05:00
2016-03-08 11:01:47 -05:00
2016-02-10 14:17:24 -05:00
2016-03-08 11:01:50 -05:00
2016-03-08 11:01:50 -05:00
2015-10-14 16:16:24 -04:00
2015-10-14 16:16:24 -04:00
2015-06-03 21:03:15 -04:00
2015-06-03 21:03:15 -04:00
2015-12-21 16:38:51 -05:00
2015-06-03 21:03:15 -04:00
2015-09-29 15:08:53 -04:00
2015-06-03 21:03:15 -04:00
2015-06-03 21:03:15 -04:00
2015-06-03 21:03:15 -04:00
2016-03-08 11:00:59 -05:00
2015-06-03 21:03:17 -04:00
2015-06-03 21:03:17 -04:00
2015-06-03 21:03:51 -04:00
2016-01-11 09:52:57 -05:00
2015-06-03 21:03:51 -04:00
2016-03-08 11:01:47 -05:00
2015-06-03 21:03:51 -04:00
2016-03-08 11:01:39 -05:00
2015-06-03 21:03:51 -04:00
2016-03-03 01:00:20 -05:00
2015-06-03 21:03:17 -04:00
2015-06-03 21:03:17 -04:00
2016-01-13 12:13:33 -05:00
2016-01-13 12:12:43 -05:00
2016-01-11 09:52:57 -05:00
2015-06-03 21:03:51 -04:00
2015-10-21 12:19:46 -04:00
2015-06-03 21:03:17 -04:00
2016-03-08 11:01:40 -05:00
2015-06-03 21:03:51 -04:00
2016-03-08 11:01:40 -05:00
2015-06-03 21:03:51 -04:00
2016-03-08 11:01:40 -05:00
2015-06-03 21:03:51 -04:00
2015-12-21 16:42:44 -05:00
2016-02-10 14:17:13 -05:00
2015-12-21 16:42:44 -05:00
2016-03-08 11:01:49 -05:00
2015-06-03 21:03:51 -04:00
2016-03-08 11:01:49 -05:00
2015-06-03 21:03:51 -04:00
2016-03-08 11:01:44 -05:00
2015-06-03 21:03:51 -04:00
2016-03-08 11:01:44 -05:00
2015-06-03 21:03:51 -04:00
2015-06-10 09:32:25 -04:00
2016-01-11 09:52:57 -05:00
2015-06-03 21:03:51 -04:00
2015-09-02 12:21:35 -04:00
2016-02-10 14:17:13 -05:00
2015-06-03 21:03:17 -04:00
2015-06-03 21:03:15 -04:00
2015-10-19 15:54:21 -04:00
2015-06-03 21:03:17 -04:00
2015-06-03 21:03:17 -04:00
2016-02-10 14:17:23 -05:00
2015-06-03 21:03:13 -04:00
2016-03-08 11:01:47 -05:00
2015-06-03 21:03:51 -04:00
2016-03-08 11:01:47 -05:00
2015-06-03 21:03:51 -04:00
2015-06-03 21:03:17 -04:00
2016-01-15 12:43:11 -05:00
2016-01-11 09:52:57 -05:00
2015-06-03 21:03:51 -04:00
2015-09-02 12:21:35 -04:00
2016-02-10 14:17:13 -05:00
2015-12-21 16:42:43 -05:00
2016-02-12 15:52:53 -05:00
2015-06-03 21:03:51 -04:00
2016-02-12 15:53:14 -05:00
2015-06-03 21:03:51 -04:00
2016-02-12 15:53:14 -05:00
2015-06-03 21:03:51 -04:00
2016-02-10 14:17:20 -05:00
2015-06-03 21:03:51 -04:00
2016-02-10 14:17:20 -05:00
2015-06-03 21:03:51 -04:00
2015-08-17 16:50:26 -04:00
2016-03-08 11:01:39 -05:00
2015-06-03 21:03:51 -04:00
2016-03-03 01:00:20 -05:00