drm/mm: Split up long running selftests with cond_resched()

Scatter a few cond_resched() in between phases of the drm_mm selftests
to try and prevent us incurring the wrath of the NMI watchdog.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170329091053.13837-1-chris@chris-wilson.co.uk
This commit is contained in:
Chris Wilson 2017-03-29 10:10:53 +01:00 committed by Daniel Vetter
parent 6911498df9
commit cd4b11d9d5
1 changed files with 28 additions and 0 deletions

View File

@ -514,6 +514,8 @@ static int igt_reserve(void *ignored)
ret = __igt_reserve(count, size + 1);
if (ret)
return ret;
cond_resched();
}
return 0;
@ -712,6 +714,10 @@ static int igt_insert(void *ignored)
return ret;
ret = __igt_insert(count, size + 1, false);
if (ret)
return ret;
cond_resched();
}
return 0;
@ -741,6 +747,10 @@ static int igt_replace(void *ignored)
return ret;
ret = __igt_insert(count, size + 1, true);
if (ret)
return ret;
cond_resched();
}
return 0;
@ -1011,6 +1021,8 @@ static int igt_insert_range(void *ignored)
ret = __igt_insert_range(count, size, max/4+1, 3*max/4-1);
if (ret)
return ret;
cond_resched();
}
return 0;
@ -1056,6 +1068,7 @@ static int igt_align(void *ignored)
drm_mm_for_each_node_safe(node, next, &mm)
drm_mm_remove_node(node);
DRM_MM_BUG_ON(!drm_mm_clean(&mm));
cond_resched();
}
ret = 0;
@ -1097,6 +1110,8 @@ static int igt_align_pot(int max)
align, bit);
goto out;
}
cond_resched();
}
ret = 0;
@ -1471,6 +1486,8 @@ static int igt_evict(void *ignored)
goto out;
}
}
cond_resched();
}
ret = 0;
@ -1566,6 +1583,8 @@ static int igt_evict_range(void *ignored)
goto out;
}
}
cond_resched();
}
ret = 0;
@ -1683,6 +1702,7 @@ static int igt_topdown(void *ignored)
drm_mm_for_each_node_safe(node, next, &mm)
drm_mm_remove_node(node);
DRM_MM_BUG_ON(!drm_mm_clean(&mm));
cond_resched();
}
ret = 0;
@ -1783,6 +1803,7 @@ static int igt_bottomup(void *ignored)
drm_mm_for_each_node_safe(node, next, &mm)
drm_mm_remove_node(node);
DRM_MM_BUG_ON(!drm_mm_clean(&mm));
cond_resched();
}
ret = 0;
@ -1970,6 +1991,8 @@ static int igt_color(void *ignored)
drm_mm_remove_node(node);
kfree(node);
}
cond_resched();
}
ret = 0;
@ -2047,6 +2070,7 @@ static int evict_color(struct drm_mm *mm,
}
}
cond_resched();
return 0;
}
@ -2132,6 +2156,8 @@ static int igt_color_evict(void *ignored)
goto out;
}
}
cond_resched();
}
ret = 0;
@ -2231,6 +2257,8 @@ static int igt_color_evict_range(void *ignored)
goto out;
}
}
cond_resched();
}
ret = 0;