[igt-dev] [PATCH i-g-t] igt/gem_shrink: touch each page in pwrite_/pread_

Ashutosh Dixit ashutosh.dixit at intel.com
Fri May 8 21:29:39 UTC 2020


pwrite_() and pread_() purport to read each page but weren't.

Reported-by: CQ Tang <cq.tang at intel.com>
Fixes 88bfe6ac41 ("igt/gem_shrink: Add pread/pwrite stress)
Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
---
 tests/i915/gem_shrink.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/i915/gem_shrink.c b/tests/i915/gem_shrink.c
index c9964ccc0..f6f1144ba 100644
--- a/tests/i915/gem_shrink.c
+++ b/tests/i915/gem_shrink.c
@@ -58,7 +58,7 @@ static void pwrite_(int fd, uint64_t alloc)
 	uint32_t tmp;
 	uint32_t handle = gem_create(fd, alloc);
 	for (int page = 0; page < alloc>>12; page++)
-		gem_write(fd, handle, (page + page % 4095) & ~3, &tmp, 4);
+		gem_write(fd, handle, page << 12, &tmp, 4);
 	gem_madvise(fd, handle, I915_MADV_DONTNEED);
 }
 
@@ -67,7 +67,7 @@ static void pread_(int fd, uint64_t alloc)
 	uint32_t tmp;
 	uint32_t handle = gem_create(fd, alloc);
 	for (int page = 0; page < alloc>>12; page++)
-		gem_read(fd, handle, (page + page % 4095) & ~3, &tmp, 4);
+		gem_read(fd, handle, page << 12, &tmp, 4);
 	gem_madvise(fd, handle, I915_MADV_DONTNEED);
 }
 
-- 
2.26.0



More information about the igt-dev mailing list