Summary: | [GM45]igt/module_reload cause <3>[ 159.350832] [drm:drm_mm_takedown] *ERROR* Memory manager not clean. Delaying takedown | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | lu hua <huax.lu> | ||||||||||||||
Component: | DRM/Intel | Assignee: | Daniel Vetter <daniel> | ||||||||||||||
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||||||||
Severity: | normal | ||||||||||||||||
Priority: | medium | CC: | xunx.fang, yangweix.shui | ||||||||||||||
Version: | unspecified | ||||||||||||||||
Hardware: | All | ||||||||||||||||
OS: | Linux (All) | ||||||||||||||||
Whiteboard: | |||||||||||||||||
i915 platform: | i915 features: | ||||||||||||||||
Attachments: |
|
Description
lu hua
2013-06-20 05:49:53 UTC
Does this work in -nightly? Created attachment 81380 [details]
dmesg
It also happens on -nightly.
Hm, a few more questions: - Does this happen even on a clean boot without running any other tests? - If -fixes works but there's no working baseline it would be interesting to figure out where exactly it has been fixed in fixes. Currently the baseline for -fixes and -next-queued is 3.10-rc2, can you please test that kernel version, too? (In reply to comment #3) > Hm, a few more questions: > - Does this happen even on a clean boot without running any other tests? Yes, clean boot, then run ./module_reload > - If -fixes works but there's no working baseline it would be interesting to > figure out where exactly it has been fixed in fixes. Currently the baseline > for -fixes and -next-queued is 3.10-rc2, can you please test that kernel > version, too? It also happens on drm-intel-fixes kernel. I test it on commit:76c425 and commit 19b2db. It also happens on 3.10-rc2. (In reply to comment #4) > (In reply to comment #3) > > - If -fixes works but there's no working baseline it would be interesting to > > figure out where exactly it has been fixed in fixes. Currently the baseline > > for -fixes and -next-queued is 3.10-rc2, can you please test that kernel > > version, too? > It also happens on drm-intel-fixes kernel. I test it on commit:76c425 and > commit 19b2db. > It also happens on 3.10-rc2. Oh, I've thought that -fixes work from the first comment: "and works well on drm-intel-fixes kernel". Sounds like it's broken everywhere. Thanks for the clarification. Created attachment 81590 [details] [review] don't tear down un-initiaizled stolen drm_mm Please test the attached patch, thanks. (In reply to comment #6) > Created attachment 81590 [details] [review] [review] > don't tear down un-initiaizled stolen drm_mm > > Please test the attached patch, thanks. It still exists. (In reply to comment #7) > (In reply to comment #6) > > Created attachment 81590 [details] [review] [review] [review] > > don't tear down un-initiaizled stolen drm_mm > > > > Please test the attached patch, thanks. > > It still exists. Can you please double-check the patch with the following debug diff applied on top (and then attach dmesg afterwards)? diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c index f9d4873..d303e31 100644 --- a/drivers/gpu/drm/drm_mm.c +++ b/drivers/gpu/drm/drm_mm.c @@ -699,8 +699,8 @@ void drm_mm_takedown(struct drm_mm * mm) { struct drm_mm_node *entry, *next; - if (!list_empty(&mm->head_node.node_list)) { - DRM_ERROR("Memory manager not clean. Delaying takedown\n"); + if (WARN(!list_empty(&mm->head_node.node_list), + "Memory manager not clean. Delaying takedown\n")) { return; } (In reply to comment #8) > (In reply to comment #7) > > (In reply to comment #6) > > > Created attachment 81590 [details] [review] [review] [review] [review] > > > don't tear down un-initiaizled stolen drm_mm > > > > > > Please test the attached patch, thanks. > > > > It still exists. > > Can you please double-check the patch with the following debug diff applied > on top (and then attach dmesg afterwards)? > > diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c > index f9d4873..d303e31 100644 > --- a/drivers/gpu/drm/drm_mm.c > +++ b/drivers/gpu/drm/drm_mm.c > @@ -699,8 +699,8 @@ void drm_mm_takedown(struct drm_mm * mm) > { > struct drm_mm_node *entry, *next; > > - if (!list_empty(&mm->head_node.node_list)) { > - DRM_ERROR("Memory manager not clean. Delaying takedown\n"); > + if (WARN(!list_empty(&mm->head_node.node_list), > + "Memory manager not clean. Delaying takedown\n")) { > return; > } Test it. It has <3>[ 270.095214] [drm:intel_pipe_config_compare] *ERROR* mismatch in clock (expected 66285, found 0. dmesg -r | egrep "<[1-3]>" |grep drm <3>[ 270.095214] [drm:intel_pipe_config_compare] *ERROR* mismatch in clock (expected 66285, found 0 <3>[ 270.173051] [drm:intel_pipe_config_compare] *ERROR* mismatch in clock (expected 66285, found 0 <3>[ 270.182479] [drm:intel_pipe_config_compare] *ERROR* mismatch in clock (expected 108000, found 0 <3>[ 270.281188] [drm:intel_pipe_config_compare] *ERROR* mismatch in clock (expected 66285, found 0 <3>[ 271.283053] [drm:intel_pipe_config_compare] *ERROR* mismatch in clock (expected 69300, found 0 Created attachment 81778 [details]
dmesg
Created attachment 81791 [details] [review] debug patch Please apply this patch on top of latest -nightly, reproduce the issue and then attach the dmesg. The other backtraces are different issues, specifically all the modeset state mismatches. Do we have a bug report for those already? Ok, now hopefully the real patch: https://patchwork.kernel.org/patch/2810001/ (In reply to comment #12) > Ok, now hopefully the real patch: > > https://patchwork.kernel.org/patch/2810001/ Test with this patch. ./module_reload output: module successfully unloaded module successfully loaded again # echo $? 0 dmesg -r | egrep "<[1-3]>" |grep drm <3>[11304.293153] [drm:intel_pipe_config_compare] *ERROR* mismatch in clock (expected 108000, found 0) Created attachment 81844 [details]
dmesg with patch/2810001
Created attachment 81845 [details] dmesg with debug patch 81791 Created attachment 81791 [details] [review] [review] debug patch Please apply this patch on top of latest -nightly, reproduce the issue and then attach the dmesg. The other backtraces are different issues, specifically all the modeset state mismatches. Do we have a bug report for those already? Run with debug patch output: module successfully unloaded module successfully loaded again dmesg -r | egrep "<[1-3]>" |grep drm <3>[ 97.869226] [drm:intel_pipe_config_compare] *ERROR* mismatch in clock (expected 108000, found 0) commit 446f8d81ca2d9cefb614e87f2fabcc996a9e4e7e Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Tue Jul 2 10:48:31 2013 +0200 drm/i915: Don't try to tear down the stolen drm_mm if it's not there Verified.Fixed. Closing old verified. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.