{"push_id":2801923134,"size":5,"distinct_size":5,"ref":"refs/heads/drm-next-4.20-wip","head":"cdc662d60883c9a6a37f516a035a000f8be99356","before":"45c9fff0fc4e420aebef41973be1e8fc6c70c911","commits":[{"sha":"c33ab9f2f5ce929f2996888ad51afed539a2ba89","author":{"name":"Christian König","email":"c7ea837d7a46effe4232b086213468b8b31643bf@amd.com"},"message":"drm/ttm: add helper structures for bulk moves on lru list\n\nAdd bulk move pos to store the pointer of first and last buffer object.\nThe list in between will be bulk moved on lru list.\n\nSigned-off-by: Christian König <christian.koenig@amd.com>\nSigned-off-by: Huang Rui <ray.huang@amd.com>","distinct":true,"url":"https://api.github.com/repos/FireBurn/linux/commits/c33ab9f2f5ce929f2996888ad51afed539a2ba89"},{"sha":"2c9f47340caf3a96b0b1f0e67b8e8e5b524302fa","author":{"name":"Christian König","email":"c7ea837d7a46effe4232b086213468b8b31643bf@amd.com"},"message":"drm/ttm: revise ttm_bo_move_to_lru_tail to support bulk moves\n\nWhen move a BO to the end of LRU, it need remember the BO positions.\nMake sure all moved bo in between \"first\" and \"last\". And they will be bulk\nmoving together.\n\nSigned-off-by: Christian König <christian.koenig@amd.com>\nSigned-off-by: Huang Rui <ray.huang@amd.com>","distinct":true,"url":"https://api.github.com/repos/FireBurn/linux/commits/2c9f47340caf3a96b0b1f0e67b8e8e5b524302fa"},{"sha":"3eeed93f7033430a005fe7c8b9483dccda034642","author":{"name":"Huang Rui","email":"3d137cbcc79a0a89c72e4e9b642446ed2999ace4@amd.com"},"message":"drm/ttm: add bulk move function on LRU\n\nThis function allow us to bulk move a group of BOs to the tail of their LRU.\nThe positions of group of BOs are stored on the (first, last) bulk_move_pos\nstructure.\n\nSigned-off-by: Christian König <christian.koenig@amd.com>\nSigned-off-by: Huang Rui <ray.huang@amd.com>","distinct":true,"url":"https://api.github.com/repos/FireBurn/linux/commits/3eeed93f7033430a005fe7c8b9483dccda034642"},{"sha":"b114438f5ecd1479f37cb2e4b186c21d1c1a2ab9","author":{"name":"Huang Rui","email":"3d137cbcc79a0a89c72e4e9b642446ed2999ace4@amd.com"},"message":"drm/amdgpu: use bulk moves for efficient VM LRU handling (v2)\n\nI continue to work for bulk moving that based on the proposal by Christian.\n\nBackground:\namdgpu driver will move all PD/PT and PerVM BOs into idle list. Then move all of\nthem on the end of LRU list one by one. Thus, that cause so many BOs moved to\nthe end of the LRU, and impact performance seriously.\n\nThen Christian provided a workaround to not move PD/PT BOs on LRU with below\npatch:\n\"drm/amdgpu: band aid validating VM PTs\"\nCommit 0bbf32026cf5ba41e9922b30e26e1bed1ecd38ae\n\nHowever, the final solution should bulk move all PD/PT and PerVM BOs on the LRU\ninstead of one by one.\n\nWhenever amdgpu_vm_validate_pt_bos() is called and we have BOs which need to be\nvalidated we move all BOs together to the end of the LRU without dropping the\nlock for the LRU.\n\nWhile doing so we note the beginning and end of this block in the LRU list.\n\nNow when amdgpu_vm_validate_pt_bos() is called and we don't have anything to do,\nwe don't move every BO one by one, but instead cut the LRU list into pieces so\nthat we bulk move everything to the end in just one operation.\n\nTest data:\n+--------------+-----------------+-----------+---------------------------------------+\n|              |The Talos        |Clpeak(OCL)|BusSpeedReadback(OCL)                  |\n|              |Principle(Vulkan)|           |                                       |\n+------------------------------------------------------------------------------------+\n|              |                 |           |0.319 ms(1k) 0.314 ms(2K) 0.308 ms(4K) |\n| Original     |  147.7 FPS      |  76.86 us |0.307 ms(8K) 0.310 ms(16K)             |\n+------------------------------------------------------------------------------------+\n| Orignial + WA|                 |           |0.254 ms(1K) 0.241 ms(2K)              |\n|(don't move   |  162.1 FPS      |  42.15 us |0.230 ms(4K) 0.223 ms(8K) 0.204 ms(16K)|\n|PT BOs on LRU)|                 |           |                                       |\n+------------------------------------------------------------------------------------+\n| Bulk move    |  163.1 FPS      |  40.52 us |0.244 ms(1K) 0.252 ms(2K) 0.213 ms(4K) |\n|              |                 |           |0.214 ms(8K) 0.225 ms(16K)             |\n+--------------+-----------------+-----------+---------------------------------------+\n\nAfter test them with above three benchmarks include vulkan and opencl. We can\nsee the visible improvement than original, and even better than original with\nworkaround.\n\nv2: move all BOs include idle, relocated, and moved list to the end of LRU and\nput them together.\n\nSigned-off-by: Christian König <christian.koenig@amd.com>\nSigned-off-by: Huang Rui <ray.huang@amd.com>","distinct":true,"url":"https://api.github.com/repos/FireBurn/linux/commits/b114438f5ecd1479f37cb2e4b186c21d1c1a2ab9"},{"sha":"cdc662d60883c9a6a37f516a035a000f8be99356","author":{"name":"Huang Rui","email":"3d137cbcc79a0a89c72e4e9b642446ed2999ace4@amd.com"},"message":"drm/amdgpu: move PD/PT bos on LRU again\n\nThe new bulk moving functionality is ready, the overhead of moving PD/PT bos to\nLRU is fixed. So move them on LRU again.\n\nSigned-off-by: Huang Rui <ray.huang@amd.com>","distinct":true,"url":"https://api.github.com/repos/FireBurn/linux/commits/cdc662d60883c9a6a37f516a035a000f8be99356"}]}
{"actor":{"display_login":"FireBurn"}}