diff mbox

lib/drmtest: Retire requests via drop caches after gem_quiescent_gpu

Message ID 1383660919-4186-1-git-send-email-oscar.mateo@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

oscar.mateo@intel.com Nov. 5, 2013, 2:15 p.m. UTC
From: Oscar Mateo <oscar.mateo@intel.com>

This helps make sure that the GPU is really quiescent by getting
rid of any residual stuff.

Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
---
 lib/drmtest.c |    2 ++
 1 file changed, 2 insertions(+)

Comments

Daniel Vetter Nov. 5, 2013, 6:35 p.m. UTC | #1
On Tue, Nov 05, 2013 at 02:15:19PM +0000, oscar.mateo@intel.com wrote:
> From: Oscar Mateo <oscar.mateo@intel.com>
> 
> This helps make sure that the GPU is really quiescent by getting
> rid of any residual stuff.
> 
> Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>

Merged, thanks for the patch.
-Daniel

> ---
>  lib/drmtest.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/lib/drmtest.c b/lib/drmtest.c
> index e3fc166..d8fc60f 100644
> --- a/lib/drmtest.c
> +++ b/lib/drmtest.c
> @@ -47,6 +47,7 @@
>  #include "i915_drm.h"
>  #include "intel_chipset.h"
>  #include "intel_gpu_tools.h"
> +#include "igt_debugfs.h"
>  
>  /* This file contains a bunch of wrapper functions to directly use gem ioctls.
>   * Mostly useful to write kernel tests. */
> @@ -163,6 +164,7 @@ void gem_quiescent_gpu(int fd)
>  	}
>  
>  	gem_sync(fd, handle);
> +	igt_drop_caches_set(DROP_RETIRE);
>  }
>  
>  /**
> -- 
> 1.7.9.5
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Ben Widawsky Nov. 11, 2013, 12:30 a.m. UTC | #2
On Tue, Nov 05, 2013 at 07:35:16PM +0100, Daniel Vetter wrote:
> On Tue, Nov 05, 2013 at 02:15:19PM +0000, oscar.mateo@intel.com wrote:
> > From: Oscar Mateo <oscar.mateo@intel.com>
> > 
> > This helps make sure that the GPU is really quiescent by getting
> > rid of any residual stuff.
> > 
> > Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
> 
> Merged, thanks for the patch.
> -Daniel

I'm hitting what seems to be a race on gem_suspend. Please fix.
Subtest debugfs-reader: SUCCESS
Test assertion failure function igt_drop_caches_set, file igt_debugfs.c:336:


> 
> > ---
> >  lib/drmtest.c |    2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/lib/drmtest.c b/lib/drmtest.c
> > index e3fc166..d8fc60f 100644
> > --- a/lib/drmtest.c
> > +++ b/lib/drmtest.c
> > @@ -47,6 +47,7 @@
> >  #include "i915_drm.h"
> >  #include "intel_chipset.h"
> >  #include "intel_gpu_tools.h"
> > +#include "igt_debugfs.h"
> >  
> >  /* This file contains a bunch of wrapper functions to directly use gem ioctls.
> >   * Mostly useful to write kernel tests. */
> > @@ -163,6 +164,7 @@ void gem_quiescent_gpu(int fd)
> >  	}
> >  
> >  	gem_sync(fd, handle);
> > +	igt_drop_caches_set(DROP_RETIRE);
> >  }
> >  
> >  /**
> > -- 
> > 1.7.9.5
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
oscar.mateo@intel.com Nov. 11, 2013, 3:49 p.m. UTC | #3
Hi Ben,

I have drv_suspend running in a loop for a few hours now and I haven´t been able to hit that problem. Could you give some more info? were you using piglit? were you able to reproduce it systematically?

I did have to fix the test for my system, thought (the output of the serial "cat" was going into std output instead of /dev/null and creating all kinds of craziness). I sent a patch to the mailing list.

Cheers,
Oscar


> -----Original Message-----
> From: Ben Widawsky [mailto:ben@bwidawsk.net]
> Sent: Monday, November 11, 2013 12:30 AM
> To: Daniel Vetter
> Cc: Mateo Lozano, Oscar; intel-gfx@lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH] lib/drmtest: Retire requests via drop caches
> after gem_quiescent_gpu
> 
> On Tue, Nov 05, 2013 at 07:35:16PM +0100, Daniel Vetter wrote:
> > On Tue, Nov 05, 2013 at 02:15:19PM +0000, oscar.mateo@intel.com wrote:
> > > From: Oscar Mateo <oscar.mateo@intel.com>
> > >
> > > This helps make sure that the GPU is really quiescent by getting rid
> > > of any residual stuff.
> > >
> > > Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
> >
> > Merged, thanks for the patch.
> > -Daniel
> 
> I'm hitting what seems to be a race on gem_suspend. Please fix.
> Subtest debugfs-reader: SUCCESS
> Test assertion failure function igt_drop_caches_set, file igt_debugfs.c:336:
> 
> 
> >
> > > ---
> > >  lib/drmtest.c |    2 ++
> > >  1 file changed, 2 insertions(+)
> > >
> > > diff --git a/lib/drmtest.c b/lib/drmtest.c index e3fc166..d8fc60f
> > > 100644
> > > --- a/lib/drmtest.c
> > > +++ b/lib/drmtest.c
> > > @@ -47,6 +47,7 @@
> > >  #include "i915_drm.h"
> > >  #include "intel_chipset.h"
> > >  #include "intel_gpu_tools.h"
> > > +#include "igt_debugfs.h"
> > >
> > >  /* This file contains a bunch of wrapper functions to directly use gem
> ioctls.
> > >   * Mostly useful to write kernel tests. */ @@ -163,6 +164,7 @@ void
> > > gem_quiescent_gpu(int fd)
> > >  	}
> > >
> > >  	gem_sync(fd, handle);
> > > +	igt_drop_caches_set(DROP_RETIRE);
> > >  }
> > >
> > >  /**
> > > --
> > > 1.7.9.5
> > >
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx@lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> --
> Ben Widawsky, Intel Open Source Technology Center
Ben Widawsky Nov. 11, 2013, 6:54 p.m. UTC | #4
On Mon, Nov 11, 2013 at 03:49:01PM +0000, Mateo Lozano, Oscar wrote:
> Hi Ben,
> 
> I have drv_suspend running in a loop for a few hours now and I haven´t been able to hit that problem. Could you give some more info? were you using piglit? were you able to reproduce it systematically?
> 
> I did have to fix the test for my system, thought (the output of the serial "cat" was going into std output instead of /dev/null and creating all kinds of craziness). I sent a patch to the mailing list.
> 
> Cheers,
> Oscar

I can get exactly what I was running when I get home. It was exactly
something to the effect of:
while [ 1 ] ; do drv_suspend --run-subtest debufs-reader ; done

I may have put a few other tests before,  be definitely none after.

> 
> 
> > -----Original Message-----
> > From: Ben Widawsky [mailto:ben@bwidawsk.net]
> > Sent: Monday, November 11, 2013 12:30 AM
> > To: Daniel Vetter
> > Cc: Mateo Lozano, Oscar; intel-gfx@lists.freedesktop.org
> > Subject: Re: [Intel-gfx] [PATCH] lib/drmtest: Retire requests via drop caches
> > after gem_quiescent_gpu
> > 
> > On Tue, Nov 05, 2013 at 07:35:16PM +0100, Daniel Vetter wrote:
> > > On Tue, Nov 05, 2013 at 02:15:19PM +0000, oscar.mateo@intel.com wrote:
> > > > From: Oscar Mateo <oscar.mateo@intel.com>
> > > >
> > > > This helps make sure that the GPU is really quiescent by getting rid
> > > > of any residual stuff.
> > > >
> > > > Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
> > >
> > > Merged, thanks for the patch.
> > > -Daniel
> > 
> > I'm hitting what seems to be a race on gem_suspend. Please fix.
> > Subtest debugfs-reader: SUCCESS
> > Test assertion failure function igt_drop_caches_set, file igt_debugfs.c:336:
> > 
> > 
> > >
> > > > ---
> > > >  lib/drmtest.c |    2 ++
> > > >  1 file changed, 2 insertions(+)
> > > >
> > > > diff --git a/lib/drmtest.c b/lib/drmtest.c index e3fc166..d8fc60f
> > > > 100644
> > > > --- a/lib/drmtest.c
> > > > +++ b/lib/drmtest.c
> > > > @@ -47,6 +47,7 @@
> > > >  #include "i915_drm.h"
> > > >  #include "intel_chipset.h"
> > > >  #include "intel_gpu_tools.h"
> > > > +#include "igt_debugfs.h"
> > > >
> > > >  /* This file contains a bunch of wrapper functions to directly use gem
> > ioctls.
> > > >   * Mostly useful to write kernel tests. */ @@ -163,6 +164,7 @@ void
> > > > gem_quiescent_gpu(int fd)
> > > >  	}
> > > >
> > > >  	gem_sync(fd, handle);
> > > > +	igt_drop_caches_set(DROP_RETIRE);
> > > >  }
> > > >
> > > >  /**
> > > > --
> > > > 1.7.9.5
> > > >
> > > > _______________________________________________
> > > > Intel-gfx mailing list
> > > > Intel-gfx@lists.freedesktop.org
> > > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > >
> > > --
> > > Daniel Vetter
> > > Software Engineer, Intel Corporation
> > > +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx@lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > 
> > --
> > Ben Widawsky, Intel Open Source Technology Center
diff mbox

Patch

diff --git a/lib/drmtest.c b/lib/drmtest.c
index e3fc166..d8fc60f 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -47,6 +47,7 @@ 
 #include "i915_drm.h"
 #include "intel_chipset.h"
 #include "intel_gpu_tools.h"
+#include "igt_debugfs.h"
 
 /* This file contains a bunch of wrapper functions to directly use gem ioctls.
  * Mostly useful to write kernel tests. */
@@ -163,6 +164,7 @@  void gem_quiescent_gpu(int fd)
 	}
 
 	gem_sync(fd, handle);
+	igt_drop_caches_set(DROP_RETIRE);
 }
 
 /**