[Intel-gfx] [PATCH 3/5] drm/i915/guc: Add GuC ADS - scheduler policies

Chris Wilson chris at chris-wilson.co.uk
Thu Dec 17 12:48:55 PST 2015


On Thu, Dec 17, 2015 at 10:36:02AM -0800, Yu Dai wrote:
> On 12/16/2015 11:39 PM, Chris Wilson wrote:
> >On Wed, Dec 16, 2015 at 01:40:53PM -0800, yu.dai at intel.com wrote:
> >> From: Alex Dai <yu.dai at intel.com>
> >> @@ -884,6 +906,13 @@ static void guc_create_ads(struct intel_guc *guc)
> >>  	for_each_ring(ring, dev_priv, i)
> >>  		ads->eng_state_size[i] = intel_lr_context_size(ring);
> >>
> >> +	/* GuC scheduling policies */
> >> +	policies = (void *)ads + sizeof(struct guc_ads);
> >> +	init_guc_policies(policies);
> >
> >Please limit atomic context to only the critical section, i.e. don't
> >make me have to read every single function to check for violations.
> 
> Could you clarify this? I am not sure what's the atomic context and
> critical section you mentioned here.

This is inside an kmap_atomic()/kunmap_atomic() section. That means this
code is in atomic context and cannot sleep or be preempted i.e. there
are restrictions placed on what the code can do and what it can call.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list