diff options
-rw-r--r-- | benchmarks/gem_wsim.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/benchmarks/gem_wsim.c b/benchmarks/gem_wsim.c index 811a4b1b..496e5042 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; } |