[PATCH] drm/i915/selftests: Unwind hugepages to drop wakeref on error

Das, Nirmoy nirmoy.das at linux.intel.com
Tue Jan 17 08:57:38 UTC 2023


On 1/16/2023 7:49 PM, Andi Shyti wrote:
> Hi Nirmoy,
>
> On Fri, Jan 13, 2023 at 01:00:53PM +0100, Nirmoy Das wrote:
>> From: Chris Wilson <chris.p.wilson at linux.intel.com>
>>
>> Make sure that upon error after we have acquired the wakeref we do
>> release it again.
>>
>> Fixes: 027c38b4121e ("drm/i915/selftests: Grab the runtime pm in shrink_thp")
>> Reviewed-by: Matthew Auld <matthew.auld at intel.com>
>> Signed-off-by: Chris Wilson <chris.p.wilson at linux.intel.com>
>> Signed-off-by: Nirmoy Das <nirmoy.das at intel.com>
>> Cc: <stable at vger.kernel.org> # v6.0+
>> ---
>>   drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 6 +++---
>>   1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
>> index c281b0ec9e05..295d6f2cc4ff 100644
>> --- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
>> +++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
>> @@ -1855,7 +1855,7 @@ static int igt_shrink_thp(void *arg)
>>   			I915_SHRINK_ACTIVE);
>>   	i915_vma_unpin(vma);
>>   	if (err)
>> -		goto out_put;
>> +		goto out_wf;
>>   
>>   	/*
>>   	 * Now that the pages are *unpinned* shrinking should invoke
>> @@ -1871,7 +1871,7 @@ static int igt_shrink_thp(void *arg)
>>   		pr_err("unexpected pages mismatch, should_swap=%s\n",
>>   		       str_yes_no(should_swap));
>>   		err = -EINVAL;
>> -		goto out_put;
>> +		goto out_wf;
>>   	}
> aren't we missing here one out_put -> out_wf change?
>
> This one:
>
> @@ -1878,7 +1878,7 @@ static int igt_shrink_thp(void *arg)
>                  pr_err("unexpected residual page-size bits, should_swap=%s\n",
>                         str_yes_no(should_swap));
>                  err = -EINVAL;
> -               goto out_put;
> +               goto out_wf;


Thanks for catching this. Yes, we need this too. I will resend.


Nirmoy

>          }
>   
>          err = i915_vma_pin(vma, 0, 0, flags);
>
> Andi
>
>>   
>>   	if (should_swap == (obj->mm.page_sizes.sg || obj->mm.page_sizes.phys)) {
>> @@ -1883,7 +1883,7 @@ static int igt_shrink_thp(void *arg)
>>   
>>   	err = i915_vma_pin(vma, 0, 0, flags);
>>   	if (err)
>> -		goto out_put;
>> +		goto out_wf;
>>   
>>   	while (n--) {
>>   		err = cpu_check(obj, n, 0xdeadbeaf);
>> -- 
>> 2.39.0


More information about the dri-devel mailing list