Hi Nirmoy,

On Wed, Sep 06, 2023 at 01:31:20PM +0200, Nirmoy Das wrote:
> Implement GGTT update method with blitter command, MI_UPDATE_GTT
> and install those handlers if a platform requires that.
> 
> v2: Make sure we hold the GT wakeref and Blitter engine wakeref before
> we call mutex_lock/intel_context_enter below. When GT/engine are not
> awake, the intel_context_enter calls into some runtime pm function which
> can end up with kmalloc/fs_reclaim. But trigger fs_reclaim holding a
> mutex lock is not allowed because shrinker can also try to hold the same
> mutex lock. It is a circular lock. So hold the GT/blitter engine wakeref
> before calling mutex_lock, to fix the circular lock.

Thanks for the explanation here.

> Signed-off-by: Nirmoy Das <[email protected]>
> Signed-off-by: Oak Zeng <[email protected]>

[...]

all looks good

[...]

> +#define for_each_sgt_daddr_next(__dp, __iter) \
> +     __for_each_daddr_next(__dp, __iter, I915_GTT_PAGE_SIZE)
> +

should this go in the previous patch?

Andi

Reply via email to