On Thu, Jul 14, 2022 at 4:51 PM Guenter Roeck linux@roeck-us.net 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@google.com Acked-by: Daniel Latypov dlatypov@google.com Reviewed-by: Javier Martinez Canillas javierm@redhat.com Signed-off-by: Maíra Canal maira.canal@usp.br
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... One workaround would be to split up the test case functions into smaller chunks.
[1] https://lore.kernel.org/linux-kselftest/20210929212713.1213476-1-brendanhigg... [2] https://lore.kernel.org/linux-kselftest/20220113165931.451305-1-dlatypov@goo...
Daniel