[PATCH v2 12/40] drm: kselftest for drm_mm_insert_node()
Joonas Lahtinen
joonas.lahtinen at linux.intel.com
Fri Dec 16 14:02:12 UTC 2016
On pe, 2016-12-16 at 07:46 +0000, Chris Wilson wrote:
> Exercise drm_mm_insert_node(), check that we can't overfill a range and
> that the lists are correct after reserving/removing.
>
> v2: Extract helpers for the repeated tests
> v3: Iterate over all allocation flags
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
<SNIP>
> +static u64 misaligned(struct drm_mm_node *node, u64 alignment)
I'm not sure if 'misalignment' would be better name or not. This makes
me think of bool returning one.
> +static bool expect_insert_fail(struct drm_mm *mm, u64 size)
> +{
> + struct drm_mm_node tmp = {};
> + int err;
> +
> + err = drm_mm_insert_node(mm, &tmp, size, 0, DRM_MM_SEARCH_DEFAULT);
> + if (err != -ENOSPC) {
For speed (this function gets called a lot);
if (likely(err == -ENOSPC))
return true;
> +static int __igt_insert(unsigned int count, u64 size)
> +{
<SNIP>
>
> + for (mode = insert_modes; mode->name; mode++) {
> + for (n = 0; n < count; n++) {
> + node = &nodes[n];
> + err = drm_mm_insert_node_generic(&mm, node, size, 0, n,
> + mode->search_flags,
> + mode->create_flags);
> + if (err || !assert_node(node, &mm, size, 0, n)) {
> + pr_err("%s insert failed, size %llu step %d\n",
> + mode->name, size, n);
> + ret = err ?: -EINVAL;
> + goto out;
> + }
This construct is three times in this patch; Could be
expect_insert_generic?
Apart from nitpicks, no complaints; was much easier to review now!
Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
More information about the dri-devel
mailing list