On ma, 2016-12-12 at 11:53 +0000, Chris Wilson wrote: > Reuse drm_mm_insert_node() with a temporary node to exercise > drm_mm_replace_node(). We use the previous test in order to exercise the > various lists following replacement. > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
<SNIP> > +static int __igt_insert(int count, u64 size, bool replace) > Â { > Â u32 lcg_state = random_seed; > Â struct drm_mm mm;@@ -264,9 +264,10 @@ static int __igt_insert(int > count, u64 size) > Â } > Â > Â for (n = 0; n < count; n++) { > + struct drm_mm_node tmp, *node; > Â int err; > Â > - node = &nodes[n]; > + node = memset(replace ? &tmp : &nodes[n], 0, sizeof(*node)); Just memset in a separate line for readability. > @@ -281,6 +282,20 @@ static int __igt_insert(int count, u64 size) > Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â n, node->start); > Â Â Â Â Â Â Â Â Â Â Â Â goto out; > Â Â Â Â Â Â Â Â } > + > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if (replace) { > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â drm_mm_replace_node(&tmp, > &nodes[n]); > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if > (!drm_mm_node_allocated(&nodes[n])) { > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â > pr_err("replaced new-node not allocated! step %d\n", > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â > n); > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â goto out; > +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â } Maybe go the extra mile and make sure the start and size still match after replacement. Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com> Regards, Joonas -- Joonas Lahtinen Open Source Technology Center Intel Corporation