diff mbox series

drm/i915/selftests: exercise shmem_writeback with THP

Message ID 20210921142116.3807946-1-matthew.auld@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/selftests: exercise shmem_writeback with THP | expand

Commit Message

Matthew Auld Sept. 21, 2021, 2:21 p.m. UTC
In commit:

commit 1e6decf30af5c5c75445ed6ad4e65a26de578a03
Author: Hugh Dickins <hughd@google.com>
Date:   Thu Sep 2 14:54:43 2021 -0700

    shmem: shmem_writepage() split unlikely i915 THP

it looks THP + shmem_writeback was an unexpected combination, and ends up
hitting some BUG_ON, but it also looks like that is now fixed.

While the IGTs did eventually hit this(although not during pre-merge it
seems), it's likely worthwhile adding some explicit coverage for this
scenario in the shrink_thp selftest.

References: https://gitlab.freedesktop.org/drm/intel/-/issues/4166
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
---
 drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Tvrtko Ursulin Sept. 22, 2021, 8:08 a.m. UTC | #1
On 21/09/2021 15:21, Matthew Auld wrote:
> In commit:
> 
> commit 1e6decf30af5c5c75445ed6ad4e65a26de578a03
> Author: Hugh Dickins <hughd@google.com>
> Date:   Thu Sep 2 14:54:43 2021 -0700
> 
>      shmem: shmem_writepage() split unlikely i915 THP
> 
> it looks THP + shmem_writeback was an unexpected combination, and ends up
> hitting some BUG_ON, but it also looks like that is now fixed.
> 
> While the IGTs did eventually hit this(although not during pre-merge it
> seems), it's likely worthwhile adding some explicit coverage for this
> scenario in the shrink_thp selftest.
> 
> References: https://gitlab.freedesktop.org/drm/intel/-/issues/4166
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> ---
>   drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
> index 0827634c842c..8260a533d43f 100644
> --- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
> +++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
> @@ -1589,7 +1589,8 @@ static int igt_shrink_thp(void *arg)
>   	i915_gem_shrink(NULL, i915, -1UL, NULL,
>   			I915_SHRINK_BOUND |
>   			I915_SHRINK_UNBOUND |
> -			I915_SHRINK_ACTIVE);
> +			I915_SHRINK_ACTIVE |
> +			I915_SHRINK_WRITEBACK);
>   	if (should_swap == i915_gem_object_has_pages(obj)) {
>   		pr_err("unexpected pages mismatch, should_swap=%s\n",
>   		       yesno(should_swap));
> 

Good idea I think.

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Regards,

Tvrtko
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
index 0827634c842c..8260a533d43f 100644
--- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
+++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
@@ -1589,7 +1589,8 @@  static int igt_shrink_thp(void *arg)
 	i915_gem_shrink(NULL, i915, -1UL, NULL,
 			I915_SHRINK_BOUND |
 			I915_SHRINK_UNBOUND |
-			I915_SHRINK_ACTIVE);
+			I915_SHRINK_ACTIVE |
+			I915_SHRINK_WRITEBACK);
 	if (should_swap == i915_gem_object_has_pages(obj)) {
 		pr_err("unexpected pages mismatch, should_swap=%s\n",
 		       yesno(should_swap));