• Weinan Li's avatar
    drm/i915/gvt: remove scheduler_mutex in per-engine workload_thread · 4cc74389
    Weinan Li authored
    For the vGPU workloads, now GVT-g use per vGPU scheduler, the per-ring
    work_thread only pick workload belongs to the current vGPU. And with time
    slice based scheduler, it waits all the engines become idle before do vGPU
    switch. So we can run free dispatch in per-ring work_thread, different ring
    running in different 'vGPU' won't happen.
    
    For the workloads between vGPU and Host, this scheduler_mutex can't block
    host to dispatch workload into other ring engines.
    
    Here remove this mutex since it impacts the performance when applications
    use more than 1 ring engines in 1 vgpu.
    
    ring0 running in vGPU1, ring1 running in Host. Will happen.
    ring0 running in vGPU1, ring1 running in vGPU2. Won't happen.
    Signed-off-by: default avatarWeinan Li <weinan.z.li@intel.com>
    Signed-off-by: default avatarPing Gao <ping.a.gao@intel.com>
    Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
    4cc74389
scheduler.c 17.5 KB