<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:huax.lu@intel.com" title="lu hua <huax.lu@intel.com>"> <span class="fn">lu hua</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - [ILK i386 Bisected]X start fail"
href="https://bugs.freedesktop.org/show_bug.cgi?id=86679">bug 86679</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Keywords</td>
<td>bisect_pending
</td>
<td>
</td>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEEDINFO
</td>
<td>NEW
</td>
</tr>
<tr>
<td style="text-align:right;">Assignee</td>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
<td>daniel@ffwll.ch
</td>
</tr>
<tr>
<td style="text-align:right;">Summary</td>
<td>[ILK i386 regression]X start fail
</td>
<td>[ILK i386 Bisected]X start fail
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [ILK i386 Bisected]X start fail"
href="https://bugs.freedesktop.org/show_bug.cgi?id=86679#c7">Comment # 7</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [ILK i386 Bisected]X start fail"
href="https://bugs.freedesktop.org/show_bug.cgi?id=86679">bug 86679</a>
from <span class="vcard"><a class="email" href="mailto:huax.lu@intel.com" title="lu hua <huax.lu@intel.com>"> <span class="fn">lu hua</span></a>
</span></b>
<pre>Bisect shows 83f45fc360c8e16a330474860ebda872d1384c8c is the first bad commit.
revert it, this issue goes away.
commit 83f45fc360c8e16a330474860ebda872d1384c8c
Author: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>>
AuthorDate: Wed Aug 6 09:10:18 2014 +0200
Commit: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>>
CommitDate: Wed Aug 6 10:41:13 2014 +0200
drm: Don't grab an fb reference for the idr
The current refcounting scheme is that the fb lookup idr also holds a
reference. This works out nicely bacause thus far we've always
explicitly cleaned up idr entries for framebuffers:
- Userspace fbs get removed in the rmfb ioctl or when the drm file
gets closed.
- Kernel fbs (for fbdev emulation) get cleaned up by the driver code
at module unload time.
But now i915 also reconstructs the bios fbs for a smooth transition.
And that fb is purely transitional and should get removed immmediately
once all crtcs stop using it. Of course if the i915 fbdev code decides
to reuse it as the main fbdev fb then it shouldn't be cleaned up, but
in that case the fbdev code will grab it's own reference.
The problem is now that we also want to register that takeover fb in
the idr, so that userspace can do a smooth transition (animated maybe
even!) itself. But currently we have no one who will clean up the idr
reference once that fb isn't useful any more, and so essentially leak
it.
Fix this by no longer holding a full fb reference for the idr, but
instead just have a weak reference using kref_get_unless_zero. But
that requires us to synchronize and clean up with the idr and fb_lock
in drm_framebuffer_free, so add that. It's a bit ugly that we have to
unconditionally grab the fb_lock, but without that someone might creep
through a race.
This leak was caught by the fb leak check in drm_mode_config_cleanup.
Originally the leak was introduced in
commit 46f297fb83d4f9a6f6891964beb184664341a28b
Author: Jesse Barnes <<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>>
Date: Fri Mar 7 08:57:48 2014 -0800
drm/i915: add plane_config fetching infrastructure v2
Cc: Jesse Barnes <<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>>
Bugzilla: <a class="bz_bug_link
bz_status_VERIFIED bz_closed"
title="VERIFIED FIXED - [ILK/SNB/IVB/BYT/HSW/BDW regression]igt/drv_module_reload causes system hang"
href="show_bug.cgi?id=77511">https://bugs.freedesktop.org/show_bug.cgi?id=77511</a>
Signed-off-by: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>></pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>