Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > Concurrent access to a mmap is covered by gem_mmap_gtt/concurrent, > if we add tiled access to it, we make gem_threaded_access_tiled entirely > redundant. Aww, my first ever test for igt iirc. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > --- > tests/Makefile.am | 2 - > tests/Makefile.sources | 3 - > tests/i915/gem_mmap_gtt.c | 21 +++-- > tests/i915/gem_threaded_access_tiled.c | 122 ------------------------- > tests/meson.build | 1 - > 5 files changed, 15 insertions(+), 134 deletions(-) > delete mode 100644 tests/i915/gem_threaded_access_tiled.c > > diff --git a/tests/Makefile.am b/tests/Makefile.am > index 9f0dda7d7..415271add 100644 > --- a/tests/Makefile.am > +++ b/tests/Makefile.am > @@ -118,8 +118,6 @@ gem_mmap_wc_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) > gem_mmap_wc_LDADD = $(LDADD) -lpthread > gem_sync_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) > gem_sync_LDADD = $(LDADD) -lpthread > -gem_threaded_access_tiled_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) > -gem_threaded_access_tiled_LDADD = $(LDADD) -lpthread > gem_tiled_swapping_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) > gem_tiled_swapping_LDADD = $(LDADD) -lpthread > i915_pm_rc6_residency_LDADD = $(LDADD) $(top_builddir)/lib/libigt_perf.la > diff --git a/tests/Makefile.sources b/tests/Makefile.sources > index 15fb56048..d9c8f6104 100644 > --- a/tests/Makefile.sources > +++ b/tests/Makefile.sources > @@ -422,9 +422,6 @@ gem_streaming_writes_SOURCES = i915/gem_streaming_writes.c > TESTS_progs += gem_sync > gem_sync_SOURCES = i915/gem_sync.c > > -TESTS_progs += gem_threaded_access_tiled > -gem_threaded_access_tiled_SOURCES = i915/gem_threaded_access_tiled.c > - > TESTS_progs += gem_tiled_blits > gem_tiled_blits_SOURCES = i915/gem_tiled_blits.c > > diff --git a/tests/i915/gem_mmap_gtt.c b/tests/i915/gem_mmap_gtt.c > index 6ecff12b9..61fbc5bc7 100644 > --- a/tests/i915/gem_mmap_gtt.c > +++ b/tests/i915/gem_mmap_gtt.c > @@ -72,12 +72,14 @@ mmap_bo(int fd, uint32_t handle, uint64_t size) > } > > static void * > -create_pointer_size(int fd, uint64_t size) > +create_pointer_size(int fd, uint64_t size, int tiling) > { > uint32_t handle; > void *ptr; > > handle = gem_create(fd, size); > + if (tiling) > + gem_set_tiling(fd, handle, tiling, 1024); > > ptr = mmap_bo(fd, handle, size); > > @@ -89,7 +91,7 @@ create_pointer_size(int fd, uint64_t size) > static void * > create_pointer(int fd) > { > - return create_pointer_size(fd, OBJECT_SIZE); > + return create_pointer_size(fd, OBJECT_SIZE, I915_TILING_NONE); > } > > static void > @@ -1180,20 +1182,23 @@ thread_fault_concurrent(void *closure) > } > > static void > -test_fault_concurrent(int fd) > +test_fault_concurrent(int fd, int tiling) > { > uint32_t *ptr[32]; > struct thread_fault_concurrent thread[64]; > int *ctl; > int n; > > - ctl = create_pointer_size(fd, 4096); > + if (tiling != I915_TILING_NONE) > + igt_require(gem_available_fences(fd) > 0); > + > + ctl = create_pointer_size(fd, 4096, I915_TILING_NONE); > *ctl = 1; > > for (n = 0; n < 32; n++) { > uint32_t sz = (n + 1) << 19; /* 512KiB increments */ > > - ptr[n] = create_pointer_size(fd, sz); > + ptr[n] = create_pointer_size(fd, sz, tiling); > *ptr[n] = sz / sizeof(uint32_t); /* num_elems for convenience */ > } > > @@ -1301,7 +1306,11 @@ igt_main > igt_subtest("basic-write-read-distinct") > test_read_write2(fd, READ_AFTER_WRITE); > igt_subtest("fault-concurrent") > - test_fault_concurrent(fd); > + test_fault_concurrent(fd, I915_TILING_NONE); > + igt_subtest("fault-concurrent-X") > + test_fault_concurrent(fd, I915_TILING_X); > + igt_subtest("fault-concurrent-Y") > + test_fault_concurrent(fd, I915_TILING_Y); > igt_subtest("basic-write-cpu-read-gtt") > test_write_cpu_read_gtt(fd); > igt_subtest("basic-wc") > diff --git a/tests/i915/gem_threaded_access_tiled.c b/tests/i915/gem_threaded_access_tiled.c > deleted file mode 100644 > index 53b475a45..000000000 > --- a/tests/i915/gem_threaded_access_tiled.c > +++ /dev/null > @@ -1,122 +0,0 @@ > -/* > - * Copyright (c) 2012 Intel Corporation > - * > - * Permission is hereby granted, free of charge, to any person obtaining a > - * copy of this software and associated documentation files (the "Software"), > - * to deal in the Software without restriction, including without limitation > - * the rights to use, copy, modify, merge, publish, distribute, sublicense, > - * and/or sell copies of the Software, and to permit persons to whom the > - * Software is furnished to do so, subject to the following conditions: > - * > - * The above copyright notice and this permission notice (including the next > - * paragraph) shall be included in all copies or substantial portions of the > - * Software. > - * > - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS > - * IN THE SOFTWARE. > - * > - * Authors: > - * Mika Kuoppala <mika.kuoppala@xxxxxxxxx> > - */ > - > -#include "igt.h" > -#include <stdlib.h> > -#include <string.h> > -#include <fcntl.h> > -#include <unistd.h> > -#include <pthread.h> > - > -IGT_TEST_DESCRIPTION("Check parallel access to tiled memory."); > - > -/* Testcase: check parallel access to tiled memory > - * > - * Parallel access to tiled memory caused sigbus > - */ > - > -#define NUM_THREADS 2 > -#define WIDTH 4096 > -#define HEIGHT 4096 > - > -struct thread_ctx { > - struct intel_buf *buf; > -}; > - > -static struct buf_ops *bops; > -static struct thread_ctx tctx[NUM_THREADS]; > - > -static void *copy_fn(void *p) > -{ > - unsigned char *buf; > - struct thread_ctx *c = p; > - > - buf = malloc(WIDTH * HEIGHT); > - if (buf == NULL) > - return (void *)1; > - > - memcpy(buf, c->buf->ptr, WIDTH * HEIGHT); > - > - free(buf); > - return (void *)0; > -} > - > -static int copy_tile_threaded(struct intel_buf *buf) > -{ > - int i; > - int r; > - pthread_t thr[NUM_THREADS]; > - void *status; > - > - for (i = 0; i < NUM_THREADS; i++) { > - tctx[i].buf = buf; > - r = pthread_create(&thr[i], NULL, copy_fn, (void *)&tctx[i]); > - igt_assert_eq(r, 0); > - } > - > - for (i = 0; i < NUM_THREADS; i++) { > - pthread_join(thr[i], &status); > - igt_assert(status == 0); > - } > - > - return 0; > -} > - > -igt_simple_main > -{ > - int fd; > - struct intel_buf *buf; > - uint32_t tiling_mode = I915_TILING_Y; > - int r; > - > - fd = drm_open_driver(DRIVER_INTEL); > - igt_assert(fd >= 0); > - > - igt_require(gem_available_fences(fd) > 0); > - > - bops = buf_ops_create(fd); > - > - buf = intel_buf_create(bops, WIDTH, HEIGHT, 8, 0, tiling_mode, > - I915_COMPRESSION_NONE); > - igt_assert(buf); > - > - buf->ptr = gem_mmap__gtt(fd, buf->handle, buf->surface[0].size, > - PROT_WRITE | PROT_READ); > - gem_set_domain(fd, buf->handle, > - I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT); > - > - r = copy_tile_threaded(buf); > - igt_assert(!r); > - > - r = gem_munmap(buf->ptr, buf->surface[0].size); > - buf->ptr = NULL; > - igt_assert(!r); > - > - intel_buf_destroy(buf); > - buf_ops_destroy(bops); > - > - close(fd); > -} > diff --git a/tests/meson.build b/tests/meson.build > index a2decf4ab..9d6006709 100644 > --- a/tests/meson.build > +++ b/tests/meson.build > @@ -207,7 +207,6 @@ i915_progs = [ > 'gem_spin_batch', > 'gem_streaming_writes', > 'gem_sync', > - 'gem_threaded_access_tiled', > 'gem_tiled_blits', > 'gem_tiled_fence_blits', > 'gem_tiled_partial_pwrite_pread', > -- > 2.29.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx