[Intel-xe] [PATCH v2 07/31] drm/xe: Only try to lock external BOs in VM bind

Matthew Brost matthew.brost at intel.com
Mon May 8 01:08:10 UTC 2023


On Fri, May 05, 2023 at 02:40:40PM -0400, Rodrigo Vivi wrote:
> On Mon, May 01, 2023 at 05:17:03PM -0700, Matthew Brost wrote:
> > Not needed and causes some issues with bulk LRU moves.
> 
> I'm confused with this explanation and the code below.
> could you please provide a bit more wording here?
> 

We only need to try to lock a BO if it external as non-external BOs
share the dma-resv with the already locked VM. Trying to lock
non-external BOs caused an issue (list corruption) in an uncoming patch
which adds bulk LRU move. Since this code isn't needed, remove it.

^^^ How about this.

> > 
> > Signed-off-by: Matthew Brost <mattthew.brost at intel.com>
> > ---
> >  drivers/gpu/drm/xe/xe_vm.c | 8 +++++---
> >  1 file changed, 5 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> > index 272f0f7f24fe..6c427ff92c44 100644
> > --- a/drivers/gpu/drm/xe/xe_vm.c
> > +++ b/drivers/gpu/drm/xe/xe_vm.c
> > @@ -2064,9 +2064,11 @@ static int vm_bind_ioctl(struct xe_vm *vm, struct xe_vma *vma,
> >  		 */
> >  		xe_bo_get(vbo);
> >  
> > -		tv_bo.bo = &vbo->ttm;
> > -		tv_bo.num_shared = 1;
> > -		list_add(&tv_bo.head, &objs);
> > +		if (!vbo->vm) {
> > +			tv_bo.bo = &vbo->ttm;
> > +			tv_bo.num_shared = 1;
> > +			list_add(&tv_bo.head, &objs);
> > +		}
> >  	}
> >  
> >  again:
> > -- 
> > 2.34.1
> > 


More information about the Intel-xe mailing list