[PATCH 2/9] drm: kselftest for drm_mm_reserve_node()

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Fri Dec 9 14:31:50 UTC 2016


On pe, 2016-12-09 at 13:08 +0000, Chris Wilson wrote:
> Exercise drm_mm_reserve_node(), check that we can't reserve an already
> occupied range and that the lists are correct after reserving/removing.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/drm_mm_selftests.h |   1 +
>  drivers/gpu/drm/test-drm_mm.c      | 143 +++++++++++++++++++++++++++++++++++++

Once there is more thorough coverage, I think we should have
drm/selftest/drm_mm.{h,c} 

> +static int __igt_reserve(int count, u64 size)
> +{
> +	struct drm_mm mm;
> +	struct drm_mm_node *node, *next;
> +	int *order, n;
> +	int ret;
> +
> +	/* Fill a range with lots of nodes, check it doesn't fail too early */
> +
> +	ret = -ENOMEM;
> +	order = random_order(count);
> +	if (!order)
> +		goto err;
> +
> +	ret = -EINVAL;
> +	drm_mm_init(&mm, 0, count * size);
> +	if (!drm_mm_clean(&mm)) {
> +		pr_err("mm not empty on creation\n");
> +		goto out;
> +	}

This code gets covered already done in more basic test, I think we
should avoid duplication from the start as we now have trouble with
runtime of tests.

> +static int igt_reserve(void *ignored)
> +{
> +	int n, ret;
> +
> +	for (n = 1; n < 50; n++) {

The right amount of loops might be something to discuss.

> +		ret = __igt_reserve(8192, (1ull << n) - 1);

BIT_ULL(n) - 1?

Regards, Joonas
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the dri-devel mailing list