[Intel-xe] [PATCH] fixup! drm/xe/bo: Evict VRAM to TT rather than to system

Thomas Hellström thomas.hellstrom at linux.intel.com
Wed Sep 20 20:07:18 UTC 2023


On 9/20/23 21:43, Rodrigo Vivi wrote:
> On Wed, Sep 20, 2023 at 10:22:17AM +0200, Thomas Hellström wrote:
>> The dma-buf kunit test and to some extent the dma-buf code assumed
>> that all bos were evicted to system. Fix this by having the dma-buf
>> code not assume anything about eviction placement and the test
>> code assume that VRAM bos are evicted to TT.
> I believe that we should minimize the fixup patches now and use that
> only for the display ones that still need a lot of work.
>
> This could be a simple Fixes: case. And even the commit message is
> very good for a standalone patch.

Thanks for reviewing, Rodrigo.

So are we done rebasing, so that the commit hashes are stable? Like

Fixes: <stable commit hash>

/Thomas

> Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
>
>> The patch applies using automerge conflict resolution.
>>
>> This fixes the following errors:
>>
>> [  102.102086]     KTAP version 1
>> [  102.102102]     # Subtest: xe_dma_buf
>> [  102.102113]     1..1
>> [  102.102377]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.106167]     # xe_dma_buf_kunit: EXPECTATION FAILED at drivers/gpu/drm/xe/tests/xe_dma_buf.c:76
>>                 Importer wasn't properly evicted.
>> [  102.106327]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.107136]     # xe_dma_buf_kunit: EXPECTATION FAILED at drivers/gpu/drm/xe/tests/xe_dma_buf.c:98
>>                     Expected xe_bo_is_mem_type(exported, mem_type) to be true, but is false
>> [  102.107691]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.108099]     # xe_dma_buf_kunit: EXPECTATION FAILED at drivers/gpu/drm/xe/tests/xe_dma_buf.c:76
>>                 Importer wasn't properly evicted.
>> [  102.108158]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.108294]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.108742]     # xe_dma_buf_kunit: EXPECTATION FAILED at drivers/gpu/drm/xe/tests/xe_dma_buf.c:76
>>                 Importer wasn't properly evicted.
>> [  102.108800]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.108908]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.109080]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.109842]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.109941]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.110131]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.110236]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.110402]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.110731]     # xe_dma_buf_kunit: EXPECTATION FAILED at drivers/gpu/drm/xe/tests/xe_dma_buf.c:76
>>                 Importer wasn't properly evicted.
>> [  102.110790]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.111498]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.111793]     # xe_dma_buf_kunit: EXPECTATION FAILED at drivers/gpu/drm/xe/tests/xe_dma_buf.c:76
>>                 Importer wasn't properly evicted.
>> [  102.111851]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.112302]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.112580]     # xe_dma_buf_kunit: EXPECTATION FAILED at drivers/gpu/drm/xe/tests/xe_dma_buf.c:76
>>                 Importer wasn't properly evicted.
>> [  102.112638]     # xe_dma_buf_kunit: running xe_test_dmabuf_import_same_driver
>> [  102.113292]     not ok 1 xe_dma_buf_kunit
>> [  102.113296] not ok 1 xe_dma_buf
>>
>> Signed-off-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>
>> ---
>>   drivers/gpu/drm/xe/tests/xe_dma_buf.c |  5 ++---
>>   drivers/gpu/drm/xe/xe_dma_buf.c       | 11 ++++-------
>>   2 files changed, 6 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/tests/xe_dma_buf.c b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
>> index 1c3f4bc72b99..1c4d8751be69 100644
>> --- a/drivers/gpu/drm/xe/tests/xe_dma_buf.c
>> +++ b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
>> @@ -72,7 +72,7 @@ static void check_residency(struct kunit *test, struct xe_bo *exported,
>>   	}
>>   
>>   	/* Verify that also importer has been evicted to SYSTEM */
>> -	if (!xe_bo_is_mem_type(imported, XE_PL_SYSTEM)) {
>> +	if (exported != imported && !xe_bo_is_mem_type(imported, XE_PL_SYSTEM)) {
>>   		KUNIT_FAIL(test, "Importer wasn't properly evicted.\n");
>>   		return;
>>   	}
>> @@ -91,8 +91,7 @@ static void check_residency(struct kunit *test, struct xe_bo *exported,
>>   	 * possible, saving a migration step as the transfer is just
>>   	 * likely as fast from system memory.
>>   	 */
>> -	if (params->force_different_devices &&
>> -	    params->mem_mask & XE_BO_CREATE_SYSTEM_BIT)
>> +	if (params->mem_mask & XE_BO_CREATE_SYSTEM_BIT)
>>   		KUNIT_EXPECT_TRUE(test, xe_bo_is_mem_type(exported, XE_PL_TT));
>>   	else
>>   		KUNIT_EXPECT_TRUE(test, xe_bo_is_mem_type(exported, mem_type));
>> diff --git a/drivers/gpu/drm/xe/xe_dma_buf.c b/drivers/gpu/drm/xe/xe_dma_buf.c
>> index bd8d51e7f93f..cfde3be3b0dc 100644
>> --- a/drivers/gpu/drm/xe/xe_dma_buf.c
>> +++ b/drivers/gpu/drm/xe/xe_dma_buf.c
>> @@ -98,13 +98,10 @@ static struct sg_table *xe_dma_buf_map(struct dma_buf_attachment *attach,
>>   		return ERR_PTR(-EOPNOTSUPP);
>>   
>>   	if (!xe_bo_is_pinned(bo)) {
>> -		if (!attach->peer2peer ||
>> -		    bo->ttm.resource->mem_type == XE_PL_SYSTEM) {
>> -			if (xe_bo_can_migrate(bo, XE_PL_TT))
>> -				r = xe_bo_migrate(bo, XE_PL_TT);
>> -			else
>> -				r = xe_bo_validate(bo, NULL, false);
>> -		}
>> +		if (!attach->peer2peer)
>> +			r = xe_bo_migrate(bo, XE_PL_TT);
>> +		else
>> +			r = xe_bo_validate(bo, NULL, false);
>>   		if (r)
>>   			return ERR_PTR(r);
>>   	}
>> -- 
>> 2.41.0
>>


More information about the Intel-xe mailing list