On Mon, May 05, 2014 at 09:55:29AM +0530, akash.goel@xxxxxxxxx wrote: > From: Akash Goel <akash.goel@xxxxxxxxx> > > This patch could help to reduce the time, 'struct_mutex' is kept > locked during either the exec-buffer path or Page fault > handling path as now the backing pages are requested from shmem layer > without holding the 'struct_mutex'. > > v2: Fixed the merge issue, due to which 'exec_lock' mutex was not released. This would be a good excuse to work on per-object locks and augmenting i915_gem_madvise_ioctl() to grab pages. iow, add obj->mutex and use that for guarding all obj->pages related members/operations, then add I915_MADV_POPULATE which can run without the struct mutex. That should provide you with the lockless get_pages and keep execbuffer reasonably clean and fast. Again, please think about why you are *clflushing* so many pages so often. That is a sign of userspace bo cache failure. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx