[Intel-gfx] [PATCH v7 10/11] drm/i915: Support LRC context single submission

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Wed Jun 8 08:44:20 UTC 2016


On ke, 2016-06-08 at 08:04 +0100, Chris Wilson wrote:
> On Tue, Jun 07, 2016 at 11:18:46AM -0400, Zhi Wang wrote:
> > 
> > This patch introduces the support of LRC context single submission.
> > As GVT context may come from different guests, which require different
> > configuration of render registers. It can't be combined into a dual ELSP
> > submission combo.
> > 
> > Only GVT-g will create this kinds of GEM context currently.
> > 
> > v7:
> > 
> > - Fix typos in commit message. (Joonas)
> > 
> > v6:
> > - Make GVT code as dead code when !CONFIG_DRM_I915_GVT. (Chris)
> > 
> > v5:
> > 
> > - Only compile this feature when CONFIG_DRM_I915_GVT=y. (Tvrtko)
> > 
> > Signed-off-by: Zhi Wang <zhi.a.wang at intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_drv.h  |  1 +
> >  drivers/gpu/drm/i915/intel_lrc.c | 15 +++++++++++++++
> >  2 files changed, 16 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index 4ab4cf7..8f8a5bc 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -882,6 +882,7 @@ struct i915_gem_context {
> >  	u32 lrc_addressing_mode_bits;
> >  	struct atomic_notifier_head status_notifier;
> >  	bool enable_lrc_status_change_notification;
> > +	bool enable_lrc_single_submission;
> >  
> >  	struct list_head link;
> >  
> > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> > index 956585d..e3cab06 100644
> > --- a/drivers/gpu/drm/i915/intel_lrc.c
> > +++ b/drivers/gpu/drm/i915/intel_lrc.c
> > @@ -447,6 +447,21 @@ static void execlists_context_unqueue(struct intel_engine_cs *engine)
> >  			i915_gem_request_unreference(req0);
> >  			req0 = cursor;
> >  		} else {
> > +			/* Compiler will do the dead-code elimination */
> > +			if (IS_ENABLED(CONFIG_DRM_I915_GVT)) {
> > +				/*
> > +				 * req0 (after merged) ctx requires single
> > +				 * submission, stop picking
> > +				 */
> > +				if (req0->ctx->enable_lrc_single_submission)
> enable_ is a bad verb here, force_ would be more apt.
> 
> s/lrc/execlists/
> 
> ctx->execlists_force_single_submission
> -Chris

Also CCing Kevin here, who commented on the previous patch. I still
think it would be good to do the req0->{vgpu,vmid} != cursor-
>{vgpu,vmid} test. That way, we get better results if there's one
dominating VM submitting workloads, right?

Regards, Joonas

> 
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the Intel-gfx mailing list