• C
    drm/i915: make context status notifier head be per engine · 3fc03069
    Changbin Du 提交于
    GVTg has introduced the context status notifier to schedule the GVTg
    workload. At that time, the notifier is bound to GVTg context only,
    so GVTg is not aware of host workloads.
    
    Now we are going to improve GVTg's guest workload scheduler policy,
    and add Guc emulation support for new Gen graphics. Both these two
    features require acknowledgment for all contexts running on hardware.
    (But will not alter host workload.) So here try to make some change.
    
    The change is simple:
      1. Move the context status notifier head from i915_gem_context to
         intel_engine_cs. Which means there is a notifier head per engine
         instead of per context. Execlist driver still call notifier for
         each context sched-in/out events of current engine.
      2. At GVTg side, it binds a notifier_block for each physical engine
         at GVTg initialization period. Then GVTg can hear all context
         status events.
    
    In this patch, GVTg do nothing for host context event, but later
    will add a function there. But in any case, the notifier callback is
    a noop if this is no active vGPU.
    
    Since intel_gvt_init() is called at early initialization stage and
    require the status notifier head has been initiated, I initiate it in
    intel_engine_setup().
    
    v2: remove a redundant newline. (chris)
    
    Fixes: 3c7ba635 ("drm/i915: Introduce execlist context status change notification")
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100232Signed-off-by: NChangbin Du <changbin.du@intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
    Cc: Zhi Wang <zhi.a.wang@intel.com>
    Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
    Link: http://patchwork.freedesktop.org/patch/msgid/20170313024711.28591-1-changbin.du@intel.comAcked-by: NZhenyu Wang <zhenyuw@linux.intel.com>
    Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
    3fc03069
intel_engine_cs.c 31.0 KB