Messages in this thread | | | From | Daniel Latypov <> | Date | Thu, 14 Jul 2022 17:03:07 -0700 | Subject | Re: [PATCH v5 4/9] drm: selftest: convert drm_format selftest to KUnit |
| |
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-brendanhiggins@google.com/ [2] https://lore.kernel.org/linux-kselftest/20220113165931.451305-1-dlatypov@google.com/
Daniel
| |