• Jason Ekstrand's avatar
    drm/i915/gem: Set the watchdog timeout directly in intel_context_set_gem (v2) · 677db6ad
    Jason Ekstrand authored
    Instead of handling it like a context param, unconditionally set it when
    intel_contexts are created.  For years we've had the idea of a watchdog
    uAPI floating about. The aim was for media, so that they could set very
    tight deadlines for their transcodes jobs, so that if you have a corrupt
    bitstream (especially for decoding) you don't hang your desktop too
    hard.  But it's been stuck in limbo since forever, and this simplifies
    things a bit in preparation for the proto-context work.  If we decide to
    actually make said uAPI a reality, we can do it through the proto-
    context easily enough.
    
    This does mean that we move from reading the request_timeout_ms param
    once per engine when engines are created instead of once at context
    creation.  If someone changes request_timeout_ms between creating a
    context and setting engines, it will mean that they get the new timeout.
    If someone races setting request_timeout_ms and context creation, they
    can theoretically end up with different timeouts.  However, since both
    of these are fairly harmless and require changing kernel params, we
    don't care.
    
    v2 (Tvrtko Ursulin):
     - Add a comment about races with request_timeout_ms
    Signed-off-by: default avatarJason Ekstrand <jason@jlekstrand.net>
    Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210708154835.528166-5-jason@jlekstrand.net
    677db6ad
intel_context_param.h 367 Bytes