Re: [PATCH v5 4/9] drm: selftest: convert drm_format selftest to KUnit

From: Maíra Canal
Date: Fri Jul 15 2022 - 07:43:21 EST


On 7/15/22 03:59, Javier Martinez Canillas wrote:
> On 7/15/22 02:03, Daniel Latypov wrote:
>> On Thu, Jul 14, 2022 at 4:51 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
>>>
>>> On Fri, Jul 08, 2022 at 05:30:47PM -0300, Maíra Canal wrote:
>>>> Considering the current adoption of the KUnit framework, convert the
>>>> DRM format selftest to the KUnit API.
>>>>
>>>> Tested-by: David Gow <davidgow@xxxxxxxxxx>
>>>> Acked-by: Daniel Latypov <dlatypov@xxxxxxxxxx>
>>>> Reviewed-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>
>>>> Signed-off-by: Maíra Canal <maira.canal@xxxxxx>
>>>
>>> This patch results in:
>>>
>>> Building powerpc:allmodconfig ... failed
>>> --------------
>>> Error log:
>>> drivers/gpu/drm/tests/drm_format_test.c: In function 'igt_check_drm_format_min_pitch':
>>> drivers/gpu/drm/tests/drm_format_test.c:271:1: error: the frame size of 3712 bytes is larger than 2048 bytes
>>>
>>> presumably due to function nesting.
>>
>> This can happen when there's a lot of KUNIT_EXPECT_* calls in a single function.
>> See [1] for some related context.
>> There were a number of patches that went into 5.18 ([2] and others) to
>> try and mitigate this, but it's not always enough.
>>
>> Ideally the compiler would see that the stack-local variables used in
>> these macros don't need to stick around, but it doesn't always
>> happen...
>
> Thanks Daniel for the explanation.
>
>> One workaround would be to split up the test case functions into smaller chunks.
>>
>
> Maíra,
>
> Could you please look at splitting in smaller chunks to mitigate this issue ?

I'll look into this during the weekend. Thanks Guenter for the report.

Best Regards,
- Maíra Canal

>