public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721
@ 2014-06-12 21:18 armin.c.reese
  2014-06-13  6:18 ` Chris Wilson
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: armin.c.reese @ 2014-06-12 21:18 UTC (permalink / raw)
  To: intel-gfx

From: Armin Reese <armin.c.reese@intel.com>

This subtest forces the driver down the code path in i915_gem_object_set_cache_level()
which unbinds VMAs and triggers the kernel panic described in VIZ-3721.  This
test will pass if the bug fix is in place.

Bugzilla:  https://bugs.fredesktop.org/show_bug.cgi?id=76384
Signed-off-by:  Armin Reese <armin.c.reese@intel.com>
---
 tests/gem_partial_pwrite_pread.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tests/gem_partial_pwrite_pread.c b/tests/gem_partial_pwrite_pread.c
index 7945ba7..3e3ecc9 100644
--- a/tests/gem_partial_pwrite_pread.c
+++ b/tests/gem_partial_pwrite_pread.c
@@ -131,6 +131,14 @@ static void test_partial_reads(void)
 
 }
 
+static void test_set_cache(void)
+{
+	igt_info("checking set-cache\n");
+
+	blt_bo_fill(staging_bo, scratch_bo, 0);
+
+}
+
 static void test_partial_writes(void)
 {
 	int i, j;
@@ -244,6 +252,9 @@ static void do_tests(int cache_level, const char *suffix)
 			gem_set_caching(fd, scratch_bo->handle, cache_level);
 	}
 
+	igt_subtest_f("set-cache%s", suffix)
+		test_set_cache();
+
 	igt_subtest_f("reads%s", suffix)
 		test_partial_reads();
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721
  2014-06-12 21:18 [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721 armin.c.reese
@ 2014-06-13  6:18 ` Chris Wilson
  2014-06-13  7:13 ` Daniel Vetter
  2014-07-02 16:36 ` Reese, Armin C
  2 siblings, 0 replies; 7+ messages in thread
From: Chris Wilson @ 2014-06-13  6:18 UTC (permalink / raw)
  To: armin.c.reese; +Cc: intel-gfx

On Thu, Jun 12, 2014 at 02:18:37PM -0700, armin.c.reese@intel.com wrote:
> From: Armin Reese <armin.c.reese@intel.com>
> 
> This subtest forces the driver down the code path in i915_gem_object_set_cache_level()
> which unbinds VMAs and triggers the kernel panic described in VIZ-3721.  This
> test will pass if the bug fix is in place.
> 
> Bugzilla:  https://bugs.fredesktop.org/show_bug.cgi?id=76384
Where's that?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721
  2014-06-12 21:18 [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721 armin.c.reese
  2014-06-13  6:18 ` Chris Wilson
@ 2014-06-13  7:13 ` Daniel Vetter
  2014-07-11 17:55   ` Reese, Armin C
  2014-07-02 16:36 ` Reese, Armin C
  2 siblings, 1 reply; 7+ messages in thread
From: Daniel Vetter @ 2014-06-13  7:13 UTC (permalink / raw)
  To: armin.c.reese; +Cc: intel-gfx

On Thu, Jun 12, 2014 at 02:18:37PM -0700, armin.c.reese@intel.com wrote:
> From: Armin Reese <armin.c.reese@intel.com>
> 
> This subtest forces the driver down the code path in i915_gem_object_set_cache_level()
> which unbinds VMAs and triggers the kernel panic described in VIZ-3721.  This
> test will pass if the bug fix is in place.
> 
> Bugzilla:  https://bugs.fredesktop.org/show_bug.cgi?id=76384
> Signed-off-by:  Armin Reese <armin.c.reese@intel.com>
> ---
>  tests/gem_partial_pwrite_pread.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/tests/gem_partial_pwrite_pread.c b/tests/gem_partial_pwrite_pread.c
> index 7945ba7..3e3ecc9 100644
> --- a/tests/gem_partial_pwrite_pread.c
> +++ b/tests/gem_partial_pwrite_pread.c
> @@ -131,6 +131,14 @@ static void test_partial_reads(void)
>  
>  }
>  
> +static void test_set_cache(void)
> +{
> +	igt_info("checking set-cache\n");
> +
> +	blt_bo_fill(staging_bo, scratch_bo, 0);
> +
> +}

Ok, my apologies for the unclear JIRA description. My idea was to have a
tailor-made testcase with a minimal reproduction scenario (i.e. map into 2
ppgtt or ggtt + ppgtt, then do a set_caching ioctl).

This here blows up because we do the set_caching as part of the fixture,
so has a high risk that when someone decides to refactor the testcase
we'll no longer test this bug. Hence the task to create a new, specific
testcase.
-Daniel

> +
>  static void test_partial_writes(void)
>  {
>  	int i, j;
> @@ -244,6 +252,9 @@ static void do_tests(int cache_level, const char *suffix)
>  			gem_set_caching(fd, scratch_bo->handle, cache_level);
>  	}
>  
> +	igt_subtest_f("set-cache%s", suffix)
> +		test_set_cache();
> +
>  	igt_subtest_f("reads%s", suffix)
>  		test_partial_reads();
>  
> -- 
> 1.9.1
> 
> _______________________________________________
> 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721
  2014-06-12 21:18 [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721 armin.c.reese
  2014-06-13  6:18 ` Chris Wilson
  2014-06-13  7:13 ` Daniel Vetter
@ 2014-07-02 16:36 ` Reese, Armin C
  2014-07-07  9:07   ` Daniel Vetter
  2 siblings, 1 reply; 7+ messages in thread
From: Reese, Armin C @ 2014-07-02 16:36 UTC (permalink / raw)
  To: intel-gfx@lists.freedesktop.org, Vetter, Daniel; +Cc: Barnes, Jesse

Hi Daniel,

Is it possible to get this patch on the review board?  I've been on vacation a couple of weeks and haven't been around to push it.

Thanks,
Armin

-----Original Message-----
From: Reese, Armin C 
Sent: Thursday, June 12, 2014 2:19 PM
To: intel-gfx@lists.freedesktop.org
Cc: Reese, Armin C
Subject: [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721

From: Armin Reese <armin.c.reese@intel.com>

This subtest forces the driver down the code path in i915_gem_object_set_cache_level() which unbinds VMAs and triggers the kernel panic described in VIZ-3721.  This test will pass if the bug fix is in place.

Bugzilla:  https://bugs.fredesktop.org/show_bug.cgi?id=76384
Signed-off-by:  Armin Reese <armin.c.reese@intel.com>
---
 tests/gem_partial_pwrite_pread.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tests/gem_partial_pwrite_pread.c b/tests/gem_partial_pwrite_pread.c
index 7945ba7..3e3ecc9 100644
--- a/tests/gem_partial_pwrite_pread.c
+++ b/tests/gem_partial_pwrite_pread.c
@@ -131,6 +131,14 @@ static void test_partial_reads(void)
 
 }
 
+static void test_set_cache(void)
+{
+	igt_info("checking set-cache\n");
+
+	blt_bo_fill(staging_bo, scratch_bo, 0);
+
+}
+
 static void test_partial_writes(void)
 {
 	int i, j;
@@ -244,6 +252,9 @@ static void do_tests(int cache_level, const char *suffix)
 			gem_set_caching(fd, scratch_bo->handle, cache_level);
 	}
 
+	igt_subtest_f("set-cache%s", suffix)
+		test_set_cache();
+
 	igt_subtest_f("reads%s", suffix)
 		test_partial_reads();
 
--
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721
  2014-07-02 16:36 ` Reese, Armin C
@ 2014-07-07  9:07   ` Daniel Vetter
  0 siblings, 0 replies; 7+ messages in thread
From: Daniel Vetter @ 2014-07-07  9:07 UTC (permalink / raw)
  To: Reese, Armin C
  Cc: Vetter, Daniel, intel-gfx@lists.freedesktop.org, Barnes, Jesse

On Wed, Jul 02, 2014 at 04:36:51PM +0000, Reese, Armin C wrote:
> Hi Daniel,
> 
> Is it possible to get this patch on the review board?  I've been on
> vacation a couple of weeks and haven't been around to push it.

Already done the review in my other reply ... Have you missed it?

http://www.spinics.net/lists/intel-gfx/msg47146.html

-Daniel

> 
> Thanks,
> Armin
> 
> -----Original Message-----
> From: Reese, Armin C 
> Sent: Thursday, June 12, 2014 2:19 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Reese, Armin C
> Subject: [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721
> 
> From: Armin Reese <armin.c.reese@intel.com>
> 
> This subtest forces the driver down the code path in i915_gem_object_set_cache_level() which unbinds VMAs and triggers the kernel panic described in VIZ-3721.  This test will pass if the bug fix is in place.
> 
> Bugzilla:  https://bugs.fredesktop.org/show_bug.cgi?id=76384
> Signed-off-by:  Armin Reese <armin.c.reese@intel.com>
> ---
>  tests/gem_partial_pwrite_pread.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/tests/gem_partial_pwrite_pread.c b/tests/gem_partial_pwrite_pread.c
> index 7945ba7..3e3ecc9 100644
> --- a/tests/gem_partial_pwrite_pread.c
> +++ b/tests/gem_partial_pwrite_pread.c
> @@ -131,6 +131,14 @@ static void test_partial_reads(void)
>  
>  }
>  
> +static void test_set_cache(void)
> +{
> +	igt_info("checking set-cache\n");
> +
> +	blt_bo_fill(staging_bo, scratch_bo, 0);
> +
> +}
> +
>  static void test_partial_writes(void)
>  {
>  	int i, j;
> @@ -244,6 +252,9 @@ static void do_tests(int cache_level, const char *suffix)
>  			gem_set_caching(fd, scratch_bo->handle, cache_level);
>  	}
>  
> +	igt_subtest_f("set-cache%s", suffix)
> +		test_set_cache();
> +
>  	igt_subtest_f("reads%s", suffix)
>  		test_partial_reads();
>  
> --
> 1.9.1
> 
> _______________________________________________
> 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721
  2014-06-13  7:13 ` Daniel Vetter
@ 2014-07-11 17:55   ` Reese, Armin C
  2014-07-12 10:11     ` Daniel Vetter
  0 siblings, 1 reply; 7+ messages in thread
From: Reese, Armin C @ 2014-07-11 17:55 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx@lists.freedesktop.org

Which of the I-G-Ts would be the best to house the set-cache subtest?  Is gem_partial_pwrite_pread a good candidate?
- Armin

-----Original Message-----
From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel Vetter
Sent: Friday, June 13, 2014 12:14 AM
To: Reese, Armin C
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721

On Thu, Jun 12, 2014 at 02:18:37PM -0700, armin.c.reese@intel.com wrote:
> From: Armin Reese <armin.c.reese@intel.com>
> 
> This subtest forces the driver down the code path in 
> i915_gem_object_set_cache_level() which unbinds VMAs and triggers the 
> kernel panic described in VIZ-3721.  This test will pass if the bug fix is in place.
> 
> Bugzilla:  https://bugs.fredesktop.org/show_bug.cgi?id=76384
> Signed-off-by:  Armin Reese <armin.c.reese@intel.com>
> ---
>  tests/gem_partial_pwrite_pread.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/tests/gem_partial_pwrite_pread.c 
> b/tests/gem_partial_pwrite_pread.c
> index 7945ba7..3e3ecc9 100644
> --- a/tests/gem_partial_pwrite_pread.c
> +++ b/tests/gem_partial_pwrite_pread.c
> @@ -131,6 +131,14 @@ static void test_partial_reads(void)
>  
>  }
>  
> +static void test_set_cache(void)
> +{
> +	igt_info("checking set-cache\n");
> +
> +	blt_bo_fill(staging_bo, scratch_bo, 0);
> +
> +}

Ok, my apologies for the unclear JIRA description. My idea was to have a tailor-made testcase with a minimal reproduction scenario (i.e. map into 2 ppgtt or ggtt + ppgtt, then do a set_caching ioctl).

This here blows up because we do the set_caching as part of the fixture, so has a high risk that when someone decides to refactor the testcase we'll no longer test this bug. Hence the task to create a new, specific testcase.
-Daniel

> +
>  static void test_partial_writes(void)  {
>  	int i, j;
> @@ -244,6 +252,9 @@ static void do_tests(int cache_level, const char *suffix)
>  			gem_set_caching(fd, scratch_bo->handle, cache_level);
>  	}
>  
> +	igt_subtest_f("set-cache%s", suffix)
> +		test_set_cache();
> +
>  	igt_subtest_f("reads%s", suffix)
>  		test_partial_reads();
>  
> --
> 1.9.1
> 
> _______________________________________________
> 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721
  2014-07-11 17:55   ` Reese, Armin C
@ 2014-07-12 10:11     ` Daniel Vetter
  0 siblings, 0 replies; 7+ messages in thread
From: Daniel Vetter @ 2014-07-12 10:11 UTC (permalink / raw)
  To: Reese, Armin C; +Cc: intel-gfx@lists.freedesktop.org

On Fri, Jul 11, 2014 at 05:55:41PM +0000, Reese, Armin C wrote:
> Which of the I-G-Ts would be the best to house the set-cache subtest?
> Is gem_partial_pwrite_pread a good candidate?

I guess you could just create a new test binary if there's nothing
suitable. Especially for tests I'm leaning towards "code reuse is
overrated". And with igt_simple_main there's really no boilerplate
(besides the obligatory license header) left.
-Daniel

> - Armin
> 
> -----Original Message-----
> From: Daniel Vetter [mailto:daniel.vetter@ffwll.ch] On Behalf Of Daniel Vetter
> Sent: Friday, June 13, 2014 12:14 AM
> To: Reese, Armin C
> Cc: intel-gfx@lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721
> 
> On Thu, Jun 12, 2014 at 02:18:37PM -0700, armin.c.reese@intel.com wrote:
> > From: Armin Reese <armin.c.reese@intel.com>
> > 
> > This subtest forces the driver down the code path in 
> > i915_gem_object_set_cache_level() which unbinds VMAs and triggers the 
> > kernel panic described in VIZ-3721.  This test will pass if the bug fix is in place.
> > 
> > Bugzilla:  https://bugs.fredesktop.org/show_bug.cgi?id=76384
> > Signed-off-by:  Armin Reese <armin.c.reese@intel.com>
> > ---
> >  tests/gem_partial_pwrite_pread.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/tests/gem_partial_pwrite_pread.c 
> > b/tests/gem_partial_pwrite_pread.c
> > index 7945ba7..3e3ecc9 100644
> > --- a/tests/gem_partial_pwrite_pread.c
> > +++ b/tests/gem_partial_pwrite_pread.c
> > @@ -131,6 +131,14 @@ static void test_partial_reads(void)
> >  
> >  }
> >  
> > +static void test_set_cache(void)
> > +{
> > +	igt_info("checking set-cache\n");
> > +
> > +	blt_bo_fill(staging_bo, scratch_bo, 0);
> > +
> > +}
> 
> Ok, my apologies for the unclear JIRA description. My idea was to have a tailor-made testcase with a minimal reproduction scenario (i.e. map into 2 ppgtt or ggtt + ppgtt, then do a set_caching ioctl).
> 
> This here blows up because we do the set_caching as part of the fixture, so has a high risk that when someone decides to refactor the testcase we'll no longer test this bug. Hence the task to create a new, specific testcase.
> -Daniel
> 
> > +
> >  static void test_partial_writes(void)  {
> >  	int i, j;
> > @@ -244,6 +252,9 @@ static void do_tests(int cache_level, const char *suffix)
> >  			gem_set_caching(fd, scratch_bo->handle, cache_level);
> >  	}
> >  
> > +	igt_subtest_f("set-cache%s", suffix)
> > +		test_set_cache();
> > +
> >  	igt_subtest_f("reads%s", suffix)
> >  		test_partial_reads();
> >  
> > --
> > 1.9.1
> > 
> > _______________________________________________
> > 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

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-07-12 10:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-12 21:18 [PATCH] igt/gem_partial_pwrite_pread: Add set-cache subtest to validate JIRA VIZ-3721 armin.c.reese
2014-06-13  6:18 ` Chris Wilson
2014-06-13  7:13 ` Daniel Vetter
2014-07-11 17:55   ` Reese, Armin C
2014-07-12 10:11     ` Daniel Vetter
2014-07-02 16:36 ` Reese, Armin C
2014-07-07  9:07   ` Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox