[igt-dev] [PATCH i-g-t 11/11] gem_wsim: Do not keep batch mapped unless needed

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Jun 18 10:47:47 UTC 2020


From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

At this point we only need to keep the mapping for infinite batch buffers.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
---
 benchmarks/gem_wsim.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/benchmarks/gem_wsim.c b/benchmarks/gem_wsim.c
index 811a4b1b7161..496e5042d89c 100644
--- a/benchmarks/gem_wsim.c
+++ b/benchmarks/gem_wsim.c
@@ -1449,6 +1449,7 @@ static unsigned int terminate_bb(struct w_step *w)
 	const uint32_t bbe = 0xa << 23;
 	unsigned long mmap_start, mmap_len;
 	unsigned long batch_start = w->bb_sz;
+	bool keep_mmap = false;
 	unsigned int r = 0;
 	uint32_t *ptr, *cs;
 
@@ -1472,6 +1473,7 @@ static unsigned int terminate_bb(struct w_step *w)
 
 		*cs++ = w->preempt_us ? 0x5 << 23 /* MI_ARB_CHK; */ : MI_NOOP;
 		w->recursive_bb_start = cs;
+		keep_mmap = true;
 		*cs++ = MI_BATCH_BUFFER_START | 1 << 8 | 1;
 		*cs++ = 0;
 		*cs++ = 0;
@@ -1479,6 +1481,9 @@ static unsigned int terminate_bb(struct w_step *w)
 
 	*cs = bbe;
 
+	if (!keep_mmap)
+		munmap(ptr, mmap_len);
+
 	return r;
 }
 
-- 
2.20.1



More information about the igt-dev mailing list