[RFC v3 0/9] make performance is associated with vGPU type
Ping Gao
ping.a.gao at intel.com
Thu Mar 2 02:19:34 UTC 2017
v3: 1. rename dummy vGPU to idle vGPU.
2. introduce an enum for num_vgpu_sched.
3. rename some structure and function.
4. comments elaborating.
5. didnot add statitic interface as no per-vgpu interface exist.
v2:
1. use hrtimer to replace delay_work to trigger scheduler.
2. introduce dummy vGPU to help handle performance control.
3. introduce vGPU LRU list to handle longest unsched vGPU.
4. Test result(stability and precision) seems good.
v1:
1. Currrently, scheduler is triggered by delay_work, it's only can be
accurate at 10ms level, so have to change the scheduler period to
10ms, it will have stability impact.
2. Test two vGPU type 2 and type 5, the fps of tropic in two guest show
about 5:2, it's workable but the precision is not good.
TODO: 1. Use htimer replace the delay_work to trigger scheduler.
2. Create dummy vGPU to help caculation.
Ping Gao (9):
drm/i915/gvt: use hrtimer replace delayed_work in scheduler
drm/i915/gvt: create an idle vGPU
drm/i915/gvt: insert the idle vGPU into scheduler
drm/i915/gvt: add some statistic routine for scheduler
drm/i915/gvt: factor out the scheduler
drm/i915/gvt: introduce the vGPU LRU list
drm/i915/gvt: add basic function for weight control
drm/i915/gvt: control the scheduler by timeslice usage
drm/i915/gvt: define weight according to vGPU type
drivers/gpu/drm/i915/gvt/gvt.c | 17 ++
drivers/gpu/drm/i915/gvt/gvt.h | 15 ++
drivers/gpu/drm/i915/gvt/handlers.c | 1 +
drivers/gpu/drm/i915/gvt/kvmgt.c | 4 +-
drivers/gpu/drm/i915/gvt/sched_policy.c | 356 +++++++++++++++++++++++++++-----
drivers/gpu/drm/i915/gvt/sched_policy.h | 2 +
drivers/gpu/drm/i915/gvt/vgpu.c | 59 ++++++
7 files changed, 402 insertions(+), 52 deletions(-)
--
2.7.4
More information about the intel-gvt-dev
mailing list