• B
    drm/i915/error: Check the potential ctx obj's vm · 36362ad3
    Ben Widawsky 提交于
    The bound list is global (all objects which back the VMAs are stored
    here). Recently the BUG() in the offset lookup was demoted to a WARN,
    but the fault actually lies in the caller, here.
    
    This bug has existed since the initial introduction of PPGTT (however,
    it was fixed in unmerged patches to fix up the error state).
    
    Note: The reason for the BUG_ON to WARN_ON demotion was _not_ to
    duct-tape over this bug here but another but triggerable without
    ppgtt. See the commit for details:
    
    commit f25748ea
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Tue Jun 17 22:34:38 2014 +0200
    
        drm/i915: Don't BUG_ON in i915_gem_obj_offset
    
        A WARN_ON is perfectly fine.
    
        The BUG in here seems to be the cause behind hard-hangs when I cat the
        i915_gem_pageflip debugfs file (which calls this from an irq
        spinlock). But only while running a full igt run after a while. I
        still need to root cause the underlying issue.
    
        I'll also start reject patches which add new BUG_ON but don't come
        with a really good justification for it. The general rule really
        should be to just WARN and hope the driver survives for long enough.
    
        v2: Make the WARN a bit more useful per Chris' suggestion.
    Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
    [danvet: Clarfy that the WARN_ON (former BUG_ON) in ggtt_offset caught
    more than just this bug fixed in this patch here.]
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    36362ad3
i915_gpu_error.c 34.9 KB