diff options
author | Maarten Lankhorst <maarten.lankhorst@ubuntu.com> | 2015-02-26 11:54:03 +0100 |
---|---|---|
committer | Maarten Lankhorst <dev@mblankhorst.nl> | 2015-03-13 20:26:33 +0100 |
commit | 5ea6f1c32628887c9df0c53bc8c199eb12633fec (patch) | |
tree | f466d5ed08d547ebb20da6ccc6fa1cbb2efc3785 /tests/nouveau/Makefile.am | |
parent | 7caa442e761ab5e48698c937aea9ce18f4522ecb (diff) |
nouveau: make nouveau importing global buffers completely thread-safe, with tests
While I've closed off most races in a previous patch, a small race still existed
where importing then unreffing cound cause an invalid bo. Add a test for this case.
Racing sequence fixed:
- thread 1 releases bo, refcount drops to zero, blocks on acquiring nvdev->lock.
- thread 2 increases refcount to 1.
- thread 2 decreases refcount to zero, blocks on acquiring nvdev->lock.
At this point the 2 threads will clean up the same bo.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Reviewed-By: Emil Velikov <emil.l.velikov@gmail.com>
Diffstat (limited to 'tests/nouveau/Makefile.am')
-rw-r--r-- | tests/nouveau/Makefile.am | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/nouveau/Makefile.am b/tests/nouveau/Makefile.am new file mode 100644 index 00000000..c4f6e299 --- /dev/null +++ b/tests/nouveau/Makefile.am @@ -0,0 +1,16 @@ +AM_CPPFLAGS = \ + -I$(top_srcdir)/include/drm \ + -I$(top_srcdir)/nouveau \ + -I$(top_srcdir) + +AM_CFLAGS = $(WARN_CFLAGS) + +LDADD = \ + ../../nouveau/libdrm_nouveau.la \ + ../../libdrm.la \ + -ldl -lpthread + +TESTS = threaded + +check_PROGRAMS = $(TESTS) + |