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

From: Javier Martinez Canillas
Date: Fri Jul 15 2022 - 03:00:24 EST


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 ?

--
Best regards,

Javier Martinez Canillas
Linux Engineering
Red Hat