diff mbox

drm/selftests/mm: Insert cond_resched() between insert modes

Message ID 20171107104131.5923-1-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson Nov. 7, 2017, 10:41 a.m. UTC
kbuilder has begun running the selftests and reported a soft-lockup
inside __igt_insert(), so break up the test loop over different modes
with another call to cond_resched().

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 drivers/gpu/drm/selftests/test-drm_mm.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Joonas Lahtinen Nov. 7, 2017, 12:51 p.m. UTC | #1
On Tue, 2017-11-07 at 10:41 +0000, Chris Wilson wrote:
> kbuilder has begun running the selftests and reported a soft-lockup
> inside __igt_insert(), so break up the test loop over different modes
> with another call to cond_resched().
> 
> Reported-by: Fengguang Wu <fengguang.wu@intel.com>
> 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>

Regards, Joonas
Joonas Lahtinen Nov. 7, 2017, 2:29 p.m. UTC | #2
On Tue, 2017-11-07 at 14:51 +0200, Joonas Lahtinen wrote:
> On Tue, 2017-11-07 at 10:41 +0000, Chris Wilson wrote:
> > kbuilder has begun running the selftests and reported a soft-lockup
> > inside __igt_insert(), so break up the test loop over different
> > modes
> > with another call to cond_resched().
> > 
> > Reported-by: Fengguang Wu <fengguang.wu@intel.com>
> > 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>

Pushed to drm-misc-next, thanks for the patch.

Regards, Joonas
diff mbox

Patch

diff --git a/drivers/gpu/drm/selftests/test-drm_mm.c b/drivers/gpu/drm/selftests/test-drm_mm.c
index 86eb4c185a28..7cc935d7b7aa 100644
--- a/drivers/gpu/drm/selftests/test-drm_mm.c
+++ b/drivers/gpu/drm/selftests/test-drm_mm.c
@@ -682,6 +682,8 @@  static int __igt_insert(unsigned int count, u64 size, bool replace)
 		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;
@@ -944,6 +946,8 @@  static int __igt_insert_range(unsigned int count, u64 size, u64 start, u64 end)
 		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;
@@ -1068,6 +1072,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();
 	}