[Intel-gfx] [PATCH] drm/i915/gtt: Pull global wc page stash under its own locking

Chris Wilson chris at chris-wilson.co.uk
Wed Jul 4 13:15:46 UTC 2018


Quoting Chris Wilson (2018-07-04 13:55:13)
> Quoting Chris Wilson (2018-07-04 13:53:54)
> > Quoting Tvrtko Ursulin (2018-07-04 13:48:18)
> > > >   
> > > > -     if (stash.nr) {
> > > > -             int nr = min_t(int, stash.nr, pagevec_space(pvec));
> > > > -             struct page **pages = stash.pages + stash.nr - nr;
> > > > +     if (stash->nr && !set_pages_array_wc(stash->pages, stash->nr)) {
> > > 
> > > Previously the test was for pages which obviously the local thread 
> > > owned. Now I am not sure if the condition says.
> > 
> > Still owned by the local thread.
> 
> Actually, no. I need to drop the mutex for the allocation. So back to
> onstack stash.

Worse, I drop the mutex up one level around a few other kmallocs, looks
like I need more locking down here.
-Chris


More information about the Intel-gfx mailing list