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 <nirmoy.das@xxxxxxxxx> > Signed-off-by: Oak Zeng <oak.zeng@xxxxxxxxx> [...] 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