[igt-dev] [PATCH i-g-t] tests/i915/gem_create: Remove page nonaligned buffer tests

Chris Wilson chris at chris-wilson.co.uk
Mon Jan 27 08:56:07 UTC 2020


Quoting Ramalingam C (2020-01-27 08:46:10)
> Considering that kernel returns the real memory size(page aligned)
> allocated, nonaligned buffer tests are not valid anymore. Hence removing
> them.

> 
> Signed-off-by: Ramalingam C <ramalingam.c at intel.com>
> cc: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  tests/i915/gem_create.c | 46 -----------------------------------------
>  1 file changed, 46 deletions(-)
> 
> diff --git a/tests/i915/gem_create.c b/tests/i915/gem_create.c
> index 8fc128dae6e2..d80479c757e8 100644
> --- a/tests/i915/gem_create.c
> +++ b/tests/i915/gem_create.c
> @@ -119,46 +119,6 @@ static void invalid_size_test(int fd)
>         igt_assert_eq(create_ioctl(fd, &create), -EINVAL);
>  }
>  
> -/*
> - * Creating an object with non-aligned size and trying to access it with an
> - * offset, which is greater than the requested size but smaller than the
> - * object's last page boundary. pwrite here must be successful.
> - */
> -static void valid_nonaligned_size(int fd)
> -{
> -       struct drm_i915_gem_create create = {
> -               .size = PAGE_SIZE / 2,
> -       };
> -       char buf[PAGE_SIZE];
> -
> -       igt_assert_eq(create_ioctl(fd, &create), 0);
> -
> -       gem_write(fd, create.handle, PAGE_SIZE / 2, buf, PAGE_SIZE / 2);
> -
> -       gem_close(fd, create.handle);

This is reasonable, just add a igt_assert(create.size >= PAGE_SIZE) as
well. We pass in a small request, the kernel pads it to a minimum of
system page size so that it will work with the usual page aligned
interfaces. We verify that the extra size returned by the kernel is
usable.

> -}
> -
> -/*
> - * Creating an object with non-aligned size and trying to access it with an
> - * offset, which is greater than the requested size and larger than the
> - * object's last page boundary. pwrite here must fail.
> - */
> -static void invalid_nonaligned_size(int fd)
> -{
> -       struct drm_i915_gem_create create = {
> -               .size = PAGE_SIZE / 2,
> -       };
> -       char buf[PAGE_SIZE];
> -
> -       igt_assert_eq(create_ioctl(fd, &create), 0);
> -
> -       /* This should fail. Hence cannot use gem_write. */
> -       igt_assert(__gem_write(fd, create.handle,
> -                              PAGE_SIZE / 2, buf, PAGE_SIZE));

This is falling under gem_write testing, since we aren't looking at
create.size and deliberating trying to write passed the end.

So I wouldn't be upset losing this.
-Chris


More information about the igt-dev mailing list