Re: [PATCH] drm/selftests/mm: reduce per-function stack usage

From: Arnd Bergmann
Date: Fri May 29 2020 - 16:44:08 EST


On Fri, May 29, 2020 at 10:26 PM Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote:
> Quoting Arnd Bergmann (2020-05-29 21:15:26)

> >
> > diff --git a/drivers/gpu/drm/selftests/test-drm_mm.c b/drivers/gpu/drm/selftests/test-drm_mm.c
> > index 9aabe82dcd3a..30108c330db8 100644
> > --- a/drivers/gpu/drm/selftests/test-drm_mm.c
> > +++ b/drivers/gpu/drm/selftests/test-drm_mm.c
> > @@ -323,9 +323,8 @@ static bool expect_reserve_fail(struct drm_mm *mm, struct drm_mm_node *node)
> > return false;
> > }
> >
> > -static bool check_reserve_boundaries(struct drm_mm *mm,
> > - unsigned int count,
> > - u64 size)
> > +static noinline_for_stack bool
> > +check_reserve_boundaries(struct drm_mm *mm, unsigned int count, u64 size)
> > {
> > const struct boundary {
>
> It's this const [] right? Hmm, if we felt adventurous that could be a
> small set of multiplication factors (0, -1, 1, count, count+1, ...) and
> made static.

That was my first thought, but I couldn't figure out whether 'count'
could be replaced by any compile-time constant.

Arnd