Re: [drm:i915_gem_object_unbind] *ERROR* Attempting to unbind pinned buffer

From: Ruslan Makhmatkhanov <cvs-src_at_yandex.ru>
Date: Sun, 30 Aug 2015 21:58:31 +0300
Slawa Olhovchenkov wrote on 08/30/2015 20:50:
> On Sun, Aug 30, 2015 at 04:06:04PM +0300, Slawa Olhovchenkov wrote:
>
>> On Sat, Aug 29, 2015 at 11:15:53PM +0300, Ruslan Makhmatkhanov wrote:
>>
>>> Hello,
>>>
>>> I'm getting tons of this in /var/log/messages:
>>> error: [drm:pid9:i915_gem_object_unbind] *ERROR* Attempting to unbind
>>> pinned buffer
>>>
>>> As far I understand [1], this case is harmless and there is no point to
>>> print it with DRM_ERROR - DRM_DEBUG is sufficient. Can we please change
>>> it in our tree like it done in patch attached? Thanks.
>>>
>>> PS. In Linux 3.8 [2] this check was changed by removing the warning
>>> altogether and just returning -EBUSY, so may be we can do just this to
>>> reduce the diff ;).
>>>
>>> [1] https://bugs.freedesktop.org/show_bug.cgi?id=50075
>>> [2]
>>> http://lxr.free-electrons.com/source/drivers/gpu/drm/i915/i915_gem.c?v=3.8
>>>
>>> --
>>> Regards,
>>> Ruslan
>>>
>>> T.O.S. Of Reality
>>
>>> Index: sys/dev/drm2/i915/i915_gem.c
>>> ===================================================================
>>> --- sys/dev/drm2/i915/i915_gem.c	(revision 287214)
>>> +++ sys/dev/drm2/i915/i915_gem.c	(working copy)
>>> _at__at_ -2528,7 +2528,7 _at__at_
>>>   		return 0;
>>>
>>>   	if (obj->pin_count) {
>>> -		DRM_ERROR("Attempting to unbind pinned buffer\n");
>>> +		DRM_DEBUG("Attempting to unbind pinned buffer\n");
>>>   		return -EINVAL;
>>>   	}
>>>
>>
>> I think this is not root of cause, this is only cause of other error:
>>
>> === dmesg ====
>> info: [drm] Initialized i915 1.6.0 20080730 for drmn0 on minor 0
>> error: [drm:pid12:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung
>> info: [drm] capturing error event; look for more information in sysctl hw.dri.0.info.i915_error_state
>> error: [drm:pid0:i915_reset] *ERROR* Failed to reset chip.
>> ==============
>>
>> This cause:
>>
>> === Xorg.log ====
>> [    51.010] (EE) intel(0): Detected a hung GPU, disabling acceleration.
>> [    51.010] (EE) intel(0): When reporting this, please include i915_error_state from debugfs and the full dmesg.
>> =================
>>
>> and after this you see Attempting to unbind pinned buffer.
>>
>> I am see this in STABLE after Aug upgrade. I am don't see this at 2014-Oct STABLE.
>
> For -STABLE:
>
> r280368 -- All works OK (no error messages, video playback work)
> r280369 -- All works OK (no error messages, video playback work)
> r282141 -- error: [drm:pid5:i915_gem_object_unbind] *ERROR* Attempting to unbind pinned buffer (video don't tested)
> r282199 -- error: [drm:pid12:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung (video don't work)

No doubt that this is not the root cause, but frankly I haven't that 
"GPU hung" messages in my system. I have others like this one triggered 
on shutdown:
error: [drm:pid1041:intel_lvds_enable] *ERROR* timed out waiting for 
panel to power off

And this one spamming almost with the same frequency as "pinned buffer":
error: [drm:pid1016:gen6_sanitize_pm] *ERROR* Power management 
discrepancy: GEN6_RP_INTERRUPT_LIMITS expected 000d0000, was 180d0000

But I had not investigated that yet and not sure they are related.
It's on r287029 head.

-- 
Regards,
Ruslan

T.O.S. Of Reality
Received on Sun Aug 30 2015 - 17:00:01 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:59 UTC