All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t v4 0/4] Use C11 atomics
@ 2019-06-24 16:22 ` Guillaume Tucker
  0 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-24 16:22 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala, Ser, Simon; +Cc: igt-dev, intel-gfx

This series replaces calls to the __sync_* functions with the more
recent atomic_* ones defined in stdatomic.h in gem_create and
sw_sync.  It also adds dependency on libatomic when required, that is
to say when the CPU architecture doesn't provide native support for
some atomic operations.  This makes the tests more portable, in
particular for 32-bit MIPS which doesn't support 64-bit atomics.

v2:
 - add linker test to only add dependency on libatomic when needed
 - only add libatomic dependency to gem_create and sw_sync
 - use stdatomic.h and _Atomic type modifier
 - explicitly require libatomic in all Docker images

v3:
 - use sub-arch libatomic1 in Debian docker images
 - use null_dep in meson.build

v4:
 - rebase with changes in Dockerfile.debian-minimal

Guillaume Tucker (4):
  meson: add libatomic dependency
  gitlab-ci: add libatomic to docker images
  i915/gem_create: use atomic_* instead of __sync_*
  tests/sw_sync: use atomic_* instead of __sync_*

 Dockerfile.debian-arm64   |  1 +
 Dockerfile.debian-armhf   |  1 +
 Dockerfile.debian-minimal |  1 +
 Dockerfile.fedora         |  2 +-
 meson.build               | 14 ++++++++++++++
 tests/Makefile.am         |  3 ++-
 tests/i915/gem_create.c   | 16 ++++++++++++----
 tests/meson.build         | 17 +++++++++++++++--
 tests/sw_sync.c           | 12 ++++++------
 9 files changed, 53 insertions(+), 14 deletions(-)

--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [igt-dev] [PATCH i-g-t v4 0/4] Use C11 atomics
@ 2019-06-24 16:22 ` Guillaume Tucker
  0 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-24 16:22 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala, Ser, Simon; +Cc: igt-dev, intel-gfx

This series replaces calls to the __sync_* functions with the more
recent atomic_* ones defined in stdatomic.h in gem_create and
sw_sync.  It also adds dependency on libatomic when required, that is
to say when the CPU architecture doesn't provide native support for
some atomic operations.  This makes the tests more portable, in
particular for 32-bit MIPS which doesn't support 64-bit atomics.

v2:
 - add linker test to only add dependency on libatomic when needed
 - only add libatomic dependency to gem_create and sw_sync
 - use stdatomic.h and _Atomic type modifier
 - explicitly require libatomic in all Docker images

v3:
 - use sub-arch libatomic1 in Debian docker images
 - use null_dep in meson.build

v4:
 - rebase with changes in Dockerfile.debian-minimal

Guillaume Tucker (4):
  meson: add libatomic dependency
  gitlab-ci: add libatomic to docker images
  i915/gem_create: use atomic_* instead of __sync_*
  tests/sw_sync: use atomic_* instead of __sync_*

 Dockerfile.debian-arm64   |  1 +
 Dockerfile.debian-armhf   |  1 +
 Dockerfile.debian-minimal |  1 +
 Dockerfile.fedora         |  2 +-
 meson.build               | 14 ++++++++++++++
 tests/Makefile.am         |  3 ++-
 tests/i915/gem_create.c   | 16 ++++++++++++----
 tests/meson.build         | 17 +++++++++++++++--
 tests/sw_sync.c           | 12 ++++++------
 9 files changed, 53 insertions(+), 14 deletions(-)

--
2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH i-g-t v4 1/4] meson: add libatomic dependency
  2019-06-24 16:22 ` [igt-dev] " Guillaume Tucker
@ 2019-06-24 16:22   ` Guillaume Tucker
  -1 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-24 16:22 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala, Ser, Simon; +Cc: igt-dev, intel-gfx

Add conditional dependency on GCC's libatomic in order to be able to
use the __atomic_* functions instead of the older __sync_* ones.  The
libatomic library is only needed when there aren't any native support
on the current architecture, so a linker test is used for this
purpose.  This makes atomic operations available on a wider number of
architectures including MIPS.

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
---

Notes:
    v2: add linker test for libatomic
    v3: use null_dep
    v4: fix sentence in commit message

 meson.build | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/meson.build b/meson.build
index b1028ee6aaaf..f0cb2543ca64 100644
--- a/meson.build
+++ b/meson.build
@@ -180,6 +180,20 @@ realtime = cc.find_library('rt')
 dlsym = cc.find_library('dl')
 zlib = cc.find_library('z')
 
+if cc.links('''
+#include <stdint.h>
+int main(void) {
+  uint32_t x32 = 0;
+  uint64_t x64 = 0;
+  __atomic_load_n(&x32, __ATOMIC_SEQ_CST);
+  __atomic_load_n(&x64, __ATOMIC_SEQ_CST);
+  return 0;
+}''', name : 'built-in atomics')
+	libatomic = null_dep
+else
+	libatomic = cc.find_library('atomic')
+endif
+
 if cc.has_header('linux/kd.h')
 	config.set('HAVE_LINUX_KD_H', 1)
 endif
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [igt-dev] [PATCH i-g-t v4 1/4] meson: add libatomic dependency
@ 2019-06-24 16:22   ` Guillaume Tucker
  0 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-24 16:22 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala, Ser, Simon; +Cc: igt-dev, intel-gfx

Add conditional dependency on GCC's libatomic in order to be able to
use the __atomic_* functions instead of the older __sync_* ones.  The
libatomic library is only needed when there aren't any native support
on the current architecture, so a linker test is used for this
purpose.  This makes atomic operations available on a wider number of
architectures including MIPS.

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
---

Notes:
    v2: add linker test for libatomic
    v3: use null_dep
    v4: fix sentence in commit message

 meson.build | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/meson.build b/meson.build
index b1028ee6aaaf..f0cb2543ca64 100644
--- a/meson.build
+++ b/meson.build
@@ -180,6 +180,20 @@ realtime = cc.find_library('rt')
 dlsym = cc.find_library('dl')
 zlib = cc.find_library('z')
 
+if cc.links('''
+#include <stdint.h>
+int main(void) {
+  uint32_t x32 = 0;
+  uint64_t x64 = 0;
+  __atomic_load_n(&x32, __ATOMIC_SEQ_CST);
+  __atomic_load_n(&x64, __ATOMIC_SEQ_CST);
+  return 0;
+}''', name : 'built-in atomics')
+	libatomic = null_dep
+else
+	libatomic = cc.find_library('atomic')
+endif
+
 if cc.has_header('linux/kd.h')
 	config.set('HAVE_LINUX_KD_H', 1)
 endif
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH i-g-t v4 2/4] gitlab-ci: add libatomic to docker images
  2019-06-24 16:22 ` [igt-dev] " Guillaume Tucker
@ 2019-06-24 16:22   ` Guillaume Tucker
  -1 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-24 16:22 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala, Ser, Simon; +Cc: igt-dev, intel-gfx

Add libatomic to the Fedora docker image so it can link binaries that
use __atomic_* functions.  Also explicitly add libatomic1 to Debian
docker images as it is needed in particular on non-x86 architectures
for run-time linkage.

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
---

Notes:
    v2: add libatomic1 in Debian docker images
    v3: add libatomic1 for non-x86 arches in Debian docker images
    v4: rebase to add libatomic1 in Dockerfile.debian-minimal

 Dockerfile.debian-arm64   | 1 +
 Dockerfile.debian-armhf   | 1 +
 Dockerfile.debian-minimal | 1 +
 Dockerfile.fedora         | 2 +-
 4 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
index 7b3a3c7ca803..c9fb28c804b8 100644
--- a/Dockerfile.debian-arm64
+++ b/Dockerfile.debian-arm64
@@ -14,6 +14,7 @@ RUN dpkg --add-architecture arm64
 RUN apt-get update
 RUN apt-get install -y \
 			gcc-aarch64-linux-gnu \
+			libatomic1:arm64 \
 			libpciaccess-dev:arm64 \
 			libkmod-dev:arm64 \
 			libprocps-dev:arm64 \
diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
index c67a1e2acf6a..3a133d849d68 100644
--- a/Dockerfile.debian-armhf
+++ b/Dockerfile.debian-armhf
@@ -14,6 +14,7 @@ RUN dpkg --add-architecture armhf
 RUN apt-get update
 RUN apt-get install -y \
 			gcc-arm-linux-gnueabihf \
+			libatomic1:armhf \
 			libpciaccess-dev:armhf \
 			libkmod-dev:armhf \
 			libprocps-dev:armhf \
diff --git a/Dockerfile.debian-minimal b/Dockerfile.debian-minimal
index bbe70bed2fb4..63844694dafa 100644
--- a/Dockerfile.debian-minimal
+++ b/Dockerfile.debian-minimal
@@ -6,6 +6,7 @@ RUN apt-get install -y \
 			flex \
 			bison \
 			pkg-config \
+			libatomic1 \
 			libpciaccess-dev \
 			libkmod-dev \
 			libprocps-dev \
diff --git a/Dockerfile.fedora b/Dockerfile.fedora
index 6686e587613d..c84b412b0723 100644
--- a/Dockerfile.fedora
+++ b/Dockerfile.fedora
@@ -1,7 +1,7 @@
 FROM fedora:30
 
 RUN dnf install -y \
-	gcc flex bison meson ninja-build xdotool \
+	gcc flex bison libatomic meson ninja-build xdotool \
 	'pkgconfig(libdrm)' \
 	'pkgconfig(pciaccess)' \
 	'pkgconfig(libkmod)' \
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [igt-dev] [PATCH i-g-t v4 2/4] gitlab-ci: add libatomic to docker images
@ 2019-06-24 16:22   ` Guillaume Tucker
  0 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-24 16:22 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala, Ser, Simon; +Cc: igt-dev, intel-gfx

Add libatomic to the Fedora docker image so it can link binaries that
use __atomic_* functions.  Also explicitly add libatomic1 to Debian
docker images as it is needed in particular on non-x86 architectures
for run-time linkage.

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
---

Notes:
    v2: add libatomic1 in Debian docker images
    v3: add libatomic1 for non-x86 arches in Debian docker images
    v4: rebase to add libatomic1 in Dockerfile.debian-minimal

 Dockerfile.debian-arm64   | 1 +
 Dockerfile.debian-armhf   | 1 +
 Dockerfile.debian-minimal | 1 +
 Dockerfile.fedora         | 2 +-
 4 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
index 7b3a3c7ca803..c9fb28c804b8 100644
--- a/Dockerfile.debian-arm64
+++ b/Dockerfile.debian-arm64
@@ -14,6 +14,7 @@ RUN dpkg --add-architecture arm64
 RUN apt-get update
 RUN apt-get install -y \
 			gcc-aarch64-linux-gnu \
+			libatomic1:arm64 \
 			libpciaccess-dev:arm64 \
 			libkmod-dev:arm64 \
 			libprocps-dev:arm64 \
diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
index c67a1e2acf6a..3a133d849d68 100644
--- a/Dockerfile.debian-armhf
+++ b/Dockerfile.debian-armhf
@@ -14,6 +14,7 @@ RUN dpkg --add-architecture armhf
 RUN apt-get update
 RUN apt-get install -y \
 			gcc-arm-linux-gnueabihf \
+			libatomic1:armhf \
 			libpciaccess-dev:armhf \
 			libkmod-dev:armhf \
 			libprocps-dev:armhf \
diff --git a/Dockerfile.debian-minimal b/Dockerfile.debian-minimal
index bbe70bed2fb4..63844694dafa 100644
--- a/Dockerfile.debian-minimal
+++ b/Dockerfile.debian-minimal
@@ -6,6 +6,7 @@ RUN apt-get install -y \
 			flex \
 			bison \
 			pkg-config \
+			libatomic1 \
 			libpciaccess-dev \
 			libkmod-dev \
 			libprocps-dev \
diff --git a/Dockerfile.fedora b/Dockerfile.fedora
index 6686e587613d..c84b412b0723 100644
--- a/Dockerfile.fedora
+++ b/Dockerfile.fedora
@@ -1,7 +1,7 @@
 FROM fedora:30
 
 RUN dnf install -y \
-	gcc flex bison meson ninja-build xdotool \
+	gcc flex bison libatomic meson ninja-build xdotool \
 	'pkgconfig(libdrm)' \
 	'pkgconfig(pciaccess)' \
 	'pkgconfig(libkmod)' \
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH i-g-t v4 3/4] i915/gem_create: use atomic_* instead of __sync_*
  2019-06-24 16:22 ` [igt-dev] " Guillaume Tucker
@ 2019-06-24 16:22   ` Guillaume Tucker
  -1 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-24 16:22 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala, Ser, Simon; +Cc: igt-dev, intel-gfx

This fixes builds on some architectures, in particular MIPS which
doesn't have __sync_add_and_fetch_8 and __sync_val_compare_and_swap_8
for 64-bit variable handling.

* replace calls to the older __sync_* functions with the new atomic_*
  standard ones
* use the _Atomic type modifier as required with stdatomic.h functions
* add dependency for gem_create on libatomic

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
---

Notes:
    v2: use atomic_* and only link libatomic with gem_create

 tests/Makefile.am       |  2 +-
 tests/i915/gem_create.c | 16 ++++++++++++----
 tests/meson.build       |  9 ++++++++-
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 5a428b8ac213..bbd386c9c2db 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -90,7 +90,7 @@ AM_LDFLAGS = -Wl,--as-needed
 drm_import_export_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
 drm_import_export_LDADD = $(LDADD) -lpthread
 gem_create_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
-gem_create_LDADD = $(LDADD) -lpthread
+gem_create_LDADD = $(LDADD) -lpthread -latomic
 gem_close_race_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
 gem_close_race_LDADD = $(LDADD) -lpthread
 gem_ctx_thrash_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
diff --git a/tests/i915/gem_create.c b/tests/i915/gem_create.c
index 43cbf45f289b..9008cd8a21e3 100644
--- a/tests/i915/gem_create.c
+++ b/tests/i915/gem_create.c
@@ -45,6 +45,7 @@
 #include <sys/time.h>
 #include <getopt.h>
 #include <pthread.h>
+#include <stdatomic.h>
 
 #include <drm.h>
 
@@ -156,7 +157,14 @@ static void invalid_nonaligned_size(int fd)
 	gem_close(fd, create.handle);
 }
 
-static uint64_t get_npages(uint64_t *global, uint64_t npages)
+static uint64_t atomic_compare_swap_u64(_Atomic(uint64_t) *ptr,
+					uint64_t oldval, uint64_t newval)
+{
+	atomic_compare_exchange_strong(ptr, &oldval, newval);
+	return oldval;
+}
+
+static uint64_t get_npages(_Atomic(uint64_t) *global, uint64_t npages)
 {
 	uint64_t try, old, max;
 
@@ -165,13 +173,13 @@ static uint64_t get_npages(uint64_t *global, uint64_t npages)
 		old = max;
 		try = 1 + npages % (max / 2);
 		max -= try;
-	} while ((max = __sync_val_compare_and_swap(global, old, max)) != old);
+	} while ((max = atomic_compare_swap_u64(global, old, max)) != old);
 
 	return try;
 }
 
 struct thread_clear {
-	uint64_t max;
+	_Atomic(uint64_t) max;
 	int timeout;
 	int i915;
 };
@@ -202,7 +210,7 @@ static void *thread_clear(void *data)
 		}
 		gem_close(i915, create.handle);
 
-		__sync_add_and_fetch(&arg->max, npages);
+		atomic_fetch_add(&arg->max, npages);
 	}
 
 	return NULL;
diff --git a/tests/meson.build b/tests/meson.build
index f168fbbae2a8..ffd432d38193 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -110,7 +110,6 @@ i915_progs = [
 	'gem_close_race',
 	'gem_concurrent_blit',
 	'gem_cpu_reloc',
-	'gem_create',
 	'gem_cs_prefetch',
 	'gem_cs_tlb',
 	'gem_ctx_bad_destroy',
@@ -277,6 +276,14 @@ foreach prog : i915_progs
 	test_list += prog
 endforeach
 
+test_executables += executable('gem_create',
+	   join_paths('i915', 'gem_create.c'),
+	   dependencies : test_deps + [ libatomic ],
+	   install_dir : libexecdir,
+	   install_rpath : libexecdir_rpathdir,
+	   install : true)
+test_list += 'gem_create'
+
 test_executables += executable('gem_ctx_sseu',
 	   join_paths('i915', 'gem_ctx_sseu.c'),
 	   dependencies : test_deps + [ lib_igt_perf ],
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [igt-dev] [PATCH i-g-t v4 3/4] i915/gem_create: use atomic_* instead of __sync_*
@ 2019-06-24 16:22   ` Guillaume Tucker
  0 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-24 16:22 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala, Ser, Simon; +Cc: igt-dev, intel-gfx

This fixes builds on some architectures, in particular MIPS which
doesn't have __sync_add_and_fetch_8 and __sync_val_compare_and_swap_8
for 64-bit variable handling.

* replace calls to the older __sync_* functions with the new atomic_*
  standard ones
* use the _Atomic type modifier as required with stdatomic.h functions
* add dependency for gem_create on libatomic

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
---

Notes:
    v2: use atomic_* and only link libatomic with gem_create

 tests/Makefile.am       |  2 +-
 tests/i915/gem_create.c | 16 ++++++++++++----
 tests/meson.build       |  9 ++++++++-
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 5a428b8ac213..bbd386c9c2db 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -90,7 +90,7 @@ AM_LDFLAGS = -Wl,--as-needed
 drm_import_export_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
 drm_import_export_LDADD = $(LDADD) -lpthread
 gem_create_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
-gem_create_LDADD = $(LDADD) -lpthread
+gem_create_LDADD = $(LDADD) -lpthread -latomic
 gem_close_race_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
 gem_close_race_LDADD = $(LDADD) -lpthread
 gem_ctx_thrash_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
diff --git a/tests/i915/gem_create.c b/tests/i915/gem_create.c
index 43cbf45f289b..9008cd8a21e3 100644
--- a/tests/i915/gem_create.c
+++ b/tests/i915/gem_create.c
@@ -45,6 +45,7 @@
 #include <sys/time.h>
 #include <getopt.h>
 #include <pthread.h>
+#include <stdatomic.h>
 
 #include <drm.h>
 
@@ -156,7 +157,14 @@ static void invalid_nonaligned_size(int fd)
 	gem_close(fd, create.handle);
 }
 
-static uint64_t get_npages(uint64_t *global, uint64_t npages)
+static uint64_t atomic_compare_swap_u64(_Atomic(uint64_t) *ptr,
+					uint64_t oldval, uint64_t newval)
+{
+	atomic_compare_exchange_strong(ptr, &oldval, newval);
+	return oldval;
+}
+
+static uint64_t get_npages(_Atomic(uint64_t) *global, uint64_t npages)
 {
 	uint64_t try, old, max;
 
@@ -165,13 +173,13 @@ static uint64_t get_npages(uint64_t *global, uint64_t npages)
 		old = max;
 		try = 1 + npages % (max / 2);
 		max -= try;
-	} while ((max = __sync_val_compare_and_swap(global, old, max)) != old);
+	} while ((max = atomic_compare_swap_u64(global, old, max)) != old);
 
 	return try;
 }
 
 struct thread_clear {
-	uint64_t max;
+	_Atomic(uint64_t) max;
 	int timeout;
 	int i915;
 };
@@ -202,7 +210,7 @@ static void *thread_clear(void *data)
 		}
 		gem_close(i915, create.handle);
 
-		__sync_add_and_fetch(&arg->max, npages);
+		atomic_fetch_add(&arg->max, npages);
 	}
 
 	return NULL;
diff --git a/tests/meson.build b/tests/meson.build
index f168fbbae2a8..ffd432d38193 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -110,7 +110,6 @@ i915_progs = [
 	'gem_close_race',
 	'gem_concurrent_blit',
 	'gem_cpu_reloc',
-	'gem_create',
 	'gem_cs_prefetch',
 	'gem_cs_tlb',
 	'gem_ctx_bad_destroy',
@@ -277,6 +276,14 @@ foreach prog : i915_progs
 	test_list += prog
 endforeach
 
+test_executables += executable('gem_create',
+	   join_paths('i915', 'gem_create.c'),
+	   dependencies : test_deps + [ libatomic ],
+	   install_dir : libexecdir,
+	   install_rpath : libexecdir_rpathdir,
+	   install : true)
+test_list += 'gem_create'
+
 test_executables += executable('gem_ctx_sseu',
 	   join_paths('i915', 'gem_ctx_sseu.c'),
 	   dependencies : test_deps + [ lib_igt_perf ],
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH i-g-t v4 4/4] tests/sw_sync: use atomic_* instead of __sync_*
  2019-06-24 16:22 ` [igt-dev] " Guillaume Tucker
@ 2019-06-24 16:22   ` Guillaume Tucker
  -1 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-24 16:22 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala, Ser, Simon; +Cc: igt-dev, intel-gfx

Replace calls to the older __sync_* functions with the new atomic_*
standard ones to be consistent with other tests and improve
portability across CPU architectures.  Add dependency of sw_sync on
libatomic.

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
---

Notes:
    v2: use atomic_* and only link libatomic with sw_sync

 tests/Makefile.am |  1 +
 tests/meson.build |  8 +++++++-
 tests/sw_sync.c   | 12 ++++++------
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/tests/Makefile.am b/tests/Makefile.am
index bbd386c9c2db..7d71df8c7a2e 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -122,6 +122,7 @@ prime_self_import_LDADD = $(LDADD) -lpthread
 gem_userptr_blits_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
 gem_userptr_blits_LDADD = $(LDADD) -lpthread
 perf_pmu_LDADD = $(LDADD) $(top_builddir)/lib/libigt_perf.la
+sw_sync_LDADD = $(LDADD) -latomic
 
 kms_flip_LDADD = $(LDADD) -lpthread
 
diff --git a/tests/meson.build b/tests/meson.build
index ffd432d38193..34a74025a537 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -76,7 +76,6 @@ test_progs = [
 	'prime_self_import',
 	'prime_udl',
 	'prime_vgem',
-	'sw_sync',
 	'syncobj_basic',
 	'syncobj_wait',
 	'template',
@@ -329,6 +328,13 @@ executable('testdisplay', ['testdisplay.c', 'testdisplay_hotplug.c'],
 	   install : true)
 test_list += 'testdisplay'
 
+test_executables += executable('sw_sync', 'sw_sync.c',
+	   dependencies : test_deps + [ libatomic ],
+	   install_dir : libexecdir,
+	   install_rpath : libexecdir_rpathdir,
+	   install : true)
+test_list += 'sw_sync'
+
 subdir('amdgpu')
 
 gen_testlist = find_program('generate_testlist.sh')
diff --git a/tests/sw_sync.c b/tests/sw_sync.c
index 950b8b614759..62d1d17cab45 100644
--- a/tests/sw_sync.c
+++ b/tests/sw_sync.c
@@ -26,6 +26,7 @@
 
 #include <pthread.h>
 #include <semaphore.h>
+#include <stdatomic.h>
 #include <stdint.h>
 #include <sys/socket.h>
 #include <sys/types.h>
@@ -43,7 +44,7 @@ IGT_TEST_DESCRIPTION("Test SW Sync Framework");
 typedef struct {
 	int timeline;
 	uint32_t thread_id;
-	uint32_t *counter;
+	_Atomic(uint32_t) *counter;
 	sem_t *sem;
 } data_t;
 
@@ -489,7 +490,7 @@ static void test_sync_multi_consumer(void)
 	pthread_t thread_arr[MULTI_CONSUMER_THREADS];
 	sem_t sem;
 	int timeline;
-	uint32_t counter = 0;
+	_Atomic(uint32_t) counter = 0;
 	uintptr_t thread_ret = 0;
 	data_t data;
 	int i, ret;
@@ -517,7 +518,7 @@ static void test_sync_multi_consumer(void)
 	{
 		sem_wait(&sem);
 
-		__sync_fetch_and_add(&counter, 1);
+		atomic_fetch_add(&counter, 1);
 		sw_sync_timeline_inc(timeline, 1);
 	}
 
@@ -554,7 +555,7 @@ static void * test_sync_multi_consumer_producer_thread(void *arg)
 		if (sync_fence_wait(fence, 1000) < 0)
 			return (void *) 1;
 
-		if (__sync_fetch_and_add(data->counter, 1) != next_point)
+		if (atomic_fetch_add(data->counter, 1) != next_point)
 			return (void *) 1;
 
 		/* Kick off the next thread. */
@@ -570,7 +571,7 @@ static void test_sync_multi_consumer_producer(void)
 	data_t data_arr[MULTI_CONSUMER_PRODUCER_THREADS];
 	pthread_t thread_arr[MULTI_CONSUMER_PRODUCER_THREADS];
 	int timeline;
-	uint32_t counter = 0;
+	_Atomic(uint32_t) counter = 0;
 	uintptr_t thread_ret = 0;
 	data_t data;
 	int i, ret;
@@ -900,4 +901,3 @@ igt_main
 	igt_subtest("sync_random_merge")
 		test_sync_random_merge();
 }
-
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [igt-dev] [PATCH i-g-t v4 4/4] tests/sw_sync: use atomic_* instead of __sync_*
@ 2019-06-24 16:22   ` Guillaume Tucker
  0 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-24 16:22 UTC (permalink / raw)
  To: Arkadiusz Hiler, Petri Latvala, Ser, Simon; +Cc: igt-dev, intel-gfx

Replace calls to the older __sync_* functions with the new atomic_*
standard ones to be consistent with other tests and improve
portability across CPU architectures.  Add dependency of sw_sync on
libatomic.

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
---

Notes:
    v2: use atomic_* and only link libatomic with sw_sync

 tests/Makefile.am |  1 +
 tests/meson.build |  8 +++++++-
 tests/sw_sync.c   | 12 ++++++------
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/tests/Makefile.am b/tests/Makefile.am
index bbd386c9c2db..7d71df8c7a2e 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -122,6 +122,7 @@ prime_self_import_LDADD = $(LDADD) -lpthread
 gem_userptr_blits_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
 gem_userptr_blits_LDADD = $(LDADD) -lpthread
 perf_pmu_LDADD = $(LDADD) $(top_builddir)/lib/libigt_perf.la
+sw_sync_LDADD = $(LDADD) -latomic
 
 kms_flip_LDADD = $(LDADD) -lpthread
 
diff --git a/tests/meson.build b/tests/meson.build
index ffd432d38193..34a74025a537 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -76,7 +76,6 @@ test_progs = [
 	'prime_self_import',
 	'prime_udl',
 	'prime_vgem',
-	'sw_sync',
 	'syncobj_basic',
 	'syncobj_wait',
 	'template',
@@ -329,6 +328,13 @@ executable('testdisplay', ['testdisplay.c', 'testdisplay_hotplug.c'],
 	   install : true)
 test_list += 'testdisplay'
 
+test_executables += executable('sw_sync', 'sw_sync.c',
+	   dependencies : test_deps + [ libatomic ],
+	   install_dir : libexecdir,
+	   install_rpath : libexecdir_rpathdir,
+	   install : true)
+test_list += 'sw_sync'
+
 subdir('amdgpu')
 
 gen_testlist = find_program('generate_testlist.sh')
diff --git a/tests/sw_sync.c b/tests/sw_sync.c
index 950b8b614759..62d1d17cab45 100644
--- a/tests/sw_sync.c
+++ b/tests/sw_sync.c
@@ -26,6 +26,7 @@
 
 #include <pthread.h>
 #include <semaphore.h>
+#include <stdatomic.h>
 #include <stdint.h>
 #include <sys/socket.h>
 #include <sys/types.h>
@@ -43,7 +44,7 @@ IGT_TEST_DESCRIPTION("Test SW Sync Framework");
 typedef struct {
 	int timeline;
 	uint32_t thread_id;
-	uint32_t *counter;
+	_Atomic(uint32_t) *counter;
 	sem_t *sem;
 } data_t;
 
@@ -489,7 +490,7 @@ static void test_sync_multi_consumer(void)
 	pthread_t thread_arr[MULTI_CONSUMER_THREADS];
 	sem_t sem;
 	int timeline;
-	uint32_t counter = 0;
+	_Atomic(uint32_t) counter = 0;
 	uintptr_t thread_ret = 0;
 	data_t data;
 	int i, ret;
@@ -517,7 +518,7 @@ static void test_sync_multi_consumer(void)
 	{
 		sem_wait(&sem);
 
-		__sync_fetch_and_add(&counter, 1);
+		atomic_fetch_add(&counter, 1);
 		sw_sync_timeline_inc(timeline, 1);
 	}
 
@@ -554,7 +555,7 @@ static void * test_sync_multi_consumer_producer_thread(void *arg)
 		if (sync_fence_wait(fence, 1000) < 0)
 			return (void *) 1;
 
-		if (__sync_fetch_and_add(data->counter, 1) != next_point)
+		if (atomic_fetch_add(data->counter, 1) != next_point)
 			return (void *) 1;
 
 		/* Kick off the next thread. */
@@ -570,7 +571,7 @@ static void test_sync_multi_consumer_producer(void)
 	data_t data_arr[MULTI_CONSUMER_PRODUCER_THREADS];
 	pthread_t thread_arr[MULTI_CONSUMER_PRODUCER_THREADS];
 	int timeline;
-	uint32_t counter = 0;
+	_Atomic(uint32_t) counter = 0;
 	uintptr_t thread_ret = 0;
 	data_t data;
 	int i, ret;
@@ -900,4 +901,3 @@ igt_main
 	igt_subtest("sync_random_merge")
 		test_sync_random_merge();
 }
-
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [igt-dev] ✗ Fi.CI.BAT: failure for Use C11 atomics (rev4)
  2019-06-24 16:22 ` [igt-dev] " Guillaume Tucker
                   ` (4 preceding siblings ...)
  (?)
@ 2019-06-24 16:59 ` Patchwork
  2019-06-25  7:19   ` Ser, Simon
  -1 siblings, 1 reply; 21+ messages in thread
From: Patchwork @ 2019-06-24 16:59 UTC (permalink / raw)
  To: Guillaume Tucker; +Cc: igt-dev

== Series Details ==

Series: Use C11 atomics (rev4)
URL   : https://patchwork.freedesktop.org/series/62048/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6336 -> IGTPW_3194
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_3194 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_3194, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/62048/revisions/4/mbox/

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_3194:

### IGT changes ###

#### Possible regressions ####

  * igt@core_auth@basic-auth:
    - fi-blb-e6850:       [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6336/fi-blb-e6850/igt@core_auth@basic-auth.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-blb-e6850/igt@core_auth@basic-auth.html

  
Known issues
------------

  Here are the changes found in IGTPW_3194 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_pwrite@basic:
    - fi-icl-u3:          [PASS][3] -> [DMESG-WARN][4] ([fdo#107724])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6336/fi-icl-u3/igt@gem_pwrite@basic.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-icl-u3/igt@gem_pwrite@basic.html

  
#### Possible fixes ####

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][5] ([fdo#109485]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6336/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       [DMESG-WARN][7] ([fdo#102614]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6336/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html

  
  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485


Participating hosts (49 -> 43)
------------------------------

  Additional (2): fi-icl-dsi fi-icl-u2 
  Missing    (8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * IGT: IGT_5066 -> IGTPW_3194

  CI_DRM_6336: 1c47064d13b90ef8b25cfa4066fb433809bf6ff5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3194: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/
  IGT_5066: a6f5cc854efb4b7dfed7f0a2c1039a9ddd1a35a5 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [igt-dev] ✗ Fi.CI.BAT: failure for Use C11 atomics (rev4)
  2019-06-24 16:59 ` [igt-dev] ✗ Fi.CI.BAT: failure for Use C11 atomics (rev4) Patchwork
@ 2019-06-25  7:19   ` Ser, Simon
  2019-06-25  8:55     ` Guillaume Tucker
  0 siblings, 1 reply; 21+ messages in thread
From: Ser, Simon @ 2019-06-25  7:19 UTC (permalink / raw)
  To: guillaume.tucker, igt-dev, martin.peres

On Mon, 2019-06-24 at 16:59 +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: Use C11 atomics (rev4)
> URL   : https://patchwork.freedesktop.org/series/62048/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_6336 -> IGTPW_3194
> ====================================================
> 
> Summary
> -------
> 
>   **FAILURE**
> 
>   Serious unknown changes coming with IGTPW_3194 absolutely need to be
>   verified manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in IGTPW_3194, please notify your bug team to allow them
>   to document this new failure mode, which will reduce false positives in CI.
> 
>   External URL: https://patchwork.freedesktop.org/api/1.0/series/62048/revisions/4/mbox/
> 
> Possible new issues
> -------------------
> 
>   Here are the unknown changes that may have been introduced in IGTPW_3194:
> 
> ### IGT changes ###
> 
> #### Possible regressions ####
> 
>   * igt@core_auth@basic-auth:
>     - fi-blb-e6850:       [PASS][1] -> [DMESG-WARN][2]
>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6336/fi-blb-e6850/igt@core_auth@basic-auth.html
>    [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-blb-e6850/igt@core_auth@basic-auth.html
> 

Cc Martin

> Known issues
> ------------
> 
>   Here are the changes found in IGTPW_3194 that come from known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>   * igt@gem_pwrite@basic:
>     - fi-icl-u3:          [PASS][3] -> [DMESG-WARN][4] ([fdo#107724])
>    [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6336/fi-icl-u3/igt@gem_pwrite@basic.html
>    [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-icl-u3/igt@gem_pwrite@basic.html
> 
>   
> #### Possible fixes ####
> 
>   * igt@kms_chamelium@hdmi-hpd-fast:
>     - fi-kbl-7500u:       [FAIL][5] ([fdo#109485]) -> [PASS][6]
>    [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6336/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
>    [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
> 
>   * igt@kms_frontbuffer_tracking@basic:
>     - fi-hsw-peppy:       [DMESG-WARN][7] ([fdo#102614]) -> [PASS][8]
>    [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6336/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
>    [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
> 
>   
>   [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
>   [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
>   [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
> 
> 
> Participating hosts (49 -> 43)
> ------------------------------
> 
>   Additional (2): fi-icl-dsi fi-icl-u2 
>   Missing    (8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus 
> 
> 
> Build changes
> -------------
> 
>   * IGT: IGT_5066 -> IGTPW_3194
> 
>   CI_DRM_6336: 1c47064d13b90ef8b25cfa4066fb433809bf6ff5 @ git://anongit.freedesktop.org/gfx-ci/linux
>   IGTPW_3194: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/
>   IGT_5066: a6f5cc854efb4b7dfed7f0a2c1039a9ddd1a35a5 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
> 
> == Logs ==
> 
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Use C11 atomics (rev5)
  2019-06-24 16:22 ` [igt-dev] " Guillaume Tucker
                   ` (5 preceding siblings ...)
  (?)
@ 2019-06-25  8:06 ` Patchwork
  -1 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2019-06-25  8:06 UTC (permalink / raw)
  To: Guillaume Tucker; +Cc: igt-dev

== Series Details ==

Series: Use C11 atomics (rev5)
URL   : https://patchwork.freedesktop.org/series/62048/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6340 -> IGTPW_3196
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/62048/revisions/5/mbox/

Known issues
------------

  Here are the changes found in IGTPW_3196 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@reload-with-fault-injection:
    - fi-ilk-650:         [PASS][1] -> [DMESG-WARN][2] ([fdo#106387]) +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/fi-ilk-650/igt@i915_module_load@reload-with-fault-injection.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/fi-ilk-650/igt@i915_module_load@reload-with-fault-injection.html

  
#### Possible fixes ####

  * igt@i915_module_load@reload-no-display:
    - fi-icl-u3:          [DMESG-WARN][3] ([fdo#107724]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/fi-icl-u3/igt@i915_module_load@reload-no-display.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/fi-icl-u3/igt@i915_module_load@reload-no-display.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][5] ([fdo#109485]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
  [fdo#106387]: https://bugs.freedesktop.org/show_bug.cgi?id=106387
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485


Participating hosts (50 -> 41)
------------------------------

  Additional (1): fi-icl-dsi 
  Missing    (10): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-apl-guc fi-icl-y fi-byt-clapper fi-bdw-samus fi-cml-u 


Build changes
-------------

  * IGT: IGT_5066 -> IGTPW_3196

  CI_DRM_6340: 9728210700f38ec768ea2931c5dc6ee3d0b4c9e1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3196: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/
  IGT_5066: a6f5cc854efb4b7dfed7f0a2c1039a9ddd1a35a5 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [igt-dev] ✗ Fi.CI.BAT: failure for Use C11 atomics (rev4)
  2019-06-25  7:19   ` Ser, Simon
@ 2019-06-25  8:55     ` Guillaume Tucker
  0 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-25  8:55 UTC (permalink / raw)
  To: Ser, Simon, igt-dev, martin.peres

On 25/06/2019 08:19, Ser, Simon wrote:
>> #### Possible regressions ####
>>
>>   * igt@core_auth@basic-auth:
>>     - fi-blb-e6850:       [PASS][1] -> [DMESG-WARN][2]
>>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6336/fi-blb-e6850/igt@core_auth@basic-auth.html
>>    [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-blb-e6850/igt@core_auth@basic-auth.html
>>
> Cc Martin

FYI I did a re-run and it passed.

  https://patchwork.freedesktop.org/series/62048/ (rev 5)

Guillaume

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for Use C11 atomics (rev5)
  2019-06-24 16:22 ` [igt-dev] " Guillaume Tucker
                   ` (6 preceding siblings ...)
  (?)
@ 2019-06-25  9:16 ` Patchwork
  -1 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2019-06-25  9:16 UTC (permalink / raw)
  To: Guillaume Tucker; +Cc: igt-dev

== Series Details ==

Series: Use C11 atomics (rev5)
URL   : https://patchwork.freedesktop.org/series/62048/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6340_full -> IGTPW_3196_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/62048/revisions/5/mbox/

Known issues
------------

  Here are the changes found in IGTPW_3196_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_eio@in-flight-contexts-10ms:
    - shard-apl:          [PASS][1] -> [DMESG-WARN][2] ([fdo#110913 ]) +5 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-apl2/igt@gem_eio@in-flight-contexts-10ms.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-apl5/igt@gem_eio@in-flight-contexts-10ms.html

  * igt@gem_ringfill@basic-default-hang:
    - shard-kbl:          [PASS][3] -> [DMESG-WARN][4] ([fdo#110913 ]) +5 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-kbl2/igt@gem_ringfill@basic-default-hang.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-kbl2/igt@gem_ringfill@basic-default-hang.html

  * igt@gem_tiled_partial_pwrite_pread@writes:
    - shard-hsw:          [PASS][5] -> [DMESG-WARN][6] ([fdo#110789] / [fdo#110913 ])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-hsw2/igt@gem_tiled_partial_pwrite_pread@writes.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw7/igt@gem_tiled_partial_pwrite_pread@writes.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-hsw:          [PASS][7] -> [FAIL][8] ([fdo#108686])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-hsw7/igt@gem_tiled_swapping@non-threaded.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw5/igt@gem_tiled_swapping@non-threaded.html

  * igt@gem_unfence_active_buffers:
    - shard-glk:          [PASS][9] -> [DMESG-WARN][10] ([fdo#110913 ]) +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-glk7/igt@gem_unfence_active_buffers.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-glk5/igt@gem_unfence_active_buffers.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
    - shard-iclb:         [PASS][11] -> [FAIL][12] ([fdo#103167]) +3 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbc-2p-rte:
    - shard-hsw:          [PASS][13] -> [SKIP][14] ([fdo#109271]) +22 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-hsw4/igt@kms_frontbuffer_tracking@fbc-2p-rte.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-rte.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite:
    - shard-iclb:         [PASS][15] -> [DMESG-WARN][16] ([fdo#110913 ]) +10 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-iclb5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_psr@psr2_sprite_mmap_cpu:
    - shard-iclb:         [PASS][17] -> [SKIP][18] ([fdo#109441]) +1 similar issue
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_cpu.html

  * igt@kms_sequence@get-busy:
    - shard-hsw:          [PASS][19] -> [INCOMPLETE][20] ([fdo#103540])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-hsw6/igt@kms_sequence@get-busy.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw2/igt@kms_sequence@get-busy.html

  * igt@kms_vblank@pipe-b-query-idle-hang:
    - shard-snb:          [PASS][21] -> [DMESG-WARN][22] ([fdo#110789] / [fdo#110913 ]) +3 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-snb4/igt@kms_vblank@pipe-b-query-idle-hang.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-snb2/igt@kms_vblank@pipe-b-query-idle-hang.html

  * igt@kms_vblank@pipe-b-ts-continuation-suspend:
    - shard-apl:          [PASS][23] -> [DMESG-WARN][24] ([fdo#108566])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-apl2/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-apl3/igt@kms_vblank@pipe-b-ts-continuation-suspend.html

  
#### Possible fixes ####

  * igt@gem_eio@in-flight-contexts-10ms:
    - shard-kbl:          [DMESG-WARN][25] ([fdo#110913 ]) -> [PASS][26] +6 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-kbl6/igt@gem_eio@in-flight-contexts-10ms.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-kbl3/igt@gem_eio@in-flight-contexts-10ms.html

  * igt@gem_eio@in-flight-internal-1us:
    - shard-iclb:         [DMESG-WARN][27] ([fdo#110913 ]) -> [PASS][28] +12 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-iclb6/igt@gem_eio@in-flight-internal-1us.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb7/igt@gem_eio@in-flight-internal-1us.html

  * igt@gem_eio@wait-wedge-10ms:
    - shard-apl:          [DMESG-WARN][29] ([fdo#110913 ]) -> [PASS][30] +7 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-apl5/igt@gem_eio@wait-wedge-10ms.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-apl7/igt@gem_eio@wait-wedge-10ms.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][31] ([fdo#110854]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-iclb6/igt@gem_exec_balancer@smoke.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb1/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@wide-bsd2:
    - shard-kbl:          [INCOMPLETE][33] ([fdo#103665]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-kbl6/igt@gem_exec_schedule@wide-bsd2.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-kbl1/igt@gem_exec_schedule@wide-bsd2.html

  * igt@gem_softpin@evict-active-interruptible:
    - shard-glk:          [DMESG-WARN][35] ([fdo#110913 ]) -> [PASS][36] +6 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-glk1/igt@gem_softpin@evict-active-interruptible.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-glk1/igt@gem_softpin@evict-active-interruptible.html
    - shard-hsw:          [DMESG-WARN][37] ([fdo#110789] / [fdo#110913 ]) -> [PASS][38] +4 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-hsw8/igt@gem_softpin@evict-active-interruptible.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw6/igt@gem_softpin@evict-active-interruptible.html

  * igt@gem_softpin@softpin:
    - shard-snb:          [DMESG-WARN][39] ([fdo#110789] / [fdo#110913 ]) -> [PASS][40] +1 similar issue
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-snb7/igt@gem_softpin@softpin.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-snb1/igt@gem_softpin@softpin.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup:
    - shard-snb:          [DMESG-WARN][41] ([fdo#110913 ]) -> [PASS][42] +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-snb2/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-snb1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy-gup.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
    - shard-kbl:          [SKIP][43] ([fdo#109271]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-kbl7/igt@i915_pm_rc6_residency@rc6-accuracy.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-kbl4/igt@i915_pm_rc6_residency@rc6-accuracy.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [DMESG-WARN][45] ([fdo#108566]) -> [PASS][46] +1 similar issue
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-apl3/igt@i915_suspend@sysfs-reader.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-apl8/igt@i915_suspend@sysfs-reader.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt:
    - shard-iclb:         [FAIL][47] ([fdo#103167]) -> [PASS][48] +1 similar issue
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc:
    - shard-hsw:          [SKIP][49] ([fdo#109271]) -> [PASS][50] +26 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [SKIP][51] ([fdo#109441]) -> [PASS][52] +2 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-iclb6/igt@kms_psr@psr2_sprite_plane_move.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_setmode@basic:
    - shard-apl:          [FAIL][53] ([fdo#99912]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-apl3/igt@kms_setmode@basic.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-apl6/igt@kms_setmode@basic.html

  * igt@kms_vblank@pipe-b-wait-forked-busy-hang:
    - shard-hsw:          [DMESG-WARN][55] ([fdo#110913 ]) -> [PASS][56] +1 similar issue
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-hsw5/igt@kms_vblank@pipe-b-wait-forked-busy-hang.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw7/igt@kms_vblank@pipe-b-wait-forked-busy-hang.html

  * igt@perf@blocking:
    - shard-iclb:         [FAIL][57] ([fdo#110728]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-iclb5/igt@perf@blocking.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb6/igt@perf@blocking.html

  
#### Warnings ####

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
    - shard-snb:          [DMESG-WARN][59] ([fdo#110789] / [fdo#110913 ]) -> [DMESG-WARN][60] ([fdo#110913 ])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6340/shard-snb5/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-snb1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
  [fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#110913 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110913 
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (10 -> 6)
------------------------------

  Missing    (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005 


Build changes
-------------

  * IGT: IGT_5066 -> IGTPW_3196
  * Piglit: piglit_4509 -> None

  CI_DRM_6340: 9728210700f38ec768ea2931c5dc6ee3d0b4c9e1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3196: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/
  IGT_5066: a6f5cc854efb4b7dfed7f0a2c1039a9ddd1a35a5 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH i-g-t v4 2/4] gitlab-ci: add libatomic to docker images
  2019-06-24 16:22   ` [igt-dev] " Guillaume Tucker
@ 2019-06-25 10:48     ` Ser, Simon
  -1 siblings, 0 replies; 21+ messages in thread
From: Ser, Simon @ 2019-06-25 10:48 UTC (permalink / raw)
  To: guillaume.tucker, Hiler, Arkadiusz, Latvala, Petri; +Cc: igt-dev, intel-gfx

On Mon, 2019-06-24 at 17:22 +0100, Guillaume Tucker wrote:
> Add libatomic to the Fedora docker image so it can link binaries that
> use __atomic_* functions.  Also explicitly add libatomic1 to Debian
> docker images as it is needed in particular on non-x86 architectures
> for run-time linkage.
> 
> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>

Reviewed-by: Simon Ser <simon.ser@intel.com>

> ---
> 
> Notes:
>     v2: add libatomic1 in Debian docker images
>     v3: add libatomic1 for non-x86 arches in Debian docker images
>     v4: rebase to add libatomic1 in Dockerfile.debian-minimal
> 
>  Dockerfile.debian-arm64   | 1 +
>  Dockerfile.debian-armhf   | 1 +
>  Dockerfile.debian-minimal | 1 +
>  Dockerfile.fedora         | 2 +-
>  4 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
> index 7b3a3c7ca803..c9fb28c804b8 100644
> --- a/Dockerfile.debian-arm64
> +++ b/Dockerfile.debian-arm64
> @@ -14,6 +14,7 @@ RUN dpkg --add-architecture arm64
>  RUN apt-get update
>  RUN apt-get install -y \
>  			gcc-aarch64-linux-gnu \
> +			libatomic1:arm64 \
>  			libpciaccess-dev:arm64 \
>  			libkmod-dev:arm64 \
>  			libprocps-dev:arm64 \
> diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> index c67a1e2acf6a..3a133d849d68 100644
> --- a/Dockerfile.debian-armhf
> +++ b/Dockerfile.debian-armhf
> @@ -14,6 +14,7 @@ RUN dpkg --add-architecture armhf
>  RUN apt-get update
>  RUN apt-get install -y \
>  			gcc-arm-linux-gnueabihf \
> +			libatomic1:armhf \
>  			libpciaccess-dev:armhf \
>  			libkmod-dev:armhf \
>  			libprocps-dev:armhf \
> diff --git a/Dockerfile.debian-minimal b/Dockerfile.debian-minimal
> index bbe70bed2fb4..63844694dafa 100644
> --- a/Dockerfile.debian-minimal
> +++ b/Dockerfile.debian-minimal
> @@ -6,6 +6,7 @@ RUN apt-get install -y \
>  			flex \
>  			bison \
>  			pkg-config \
> +			libatomic1 \
>  			libpciaccess-dev \
>  			libkmod-dev \
>  			libprocps-dev \
> diff --git a/Dockerfile.fedora b/Dockerfile.fedora
> index 6686e587613d..c84b412b0723 100644
> --- a/Dockerfile.fedora
> +++ b/Dockerfile.fedora
> @@ -1,7 +1,7 @@
>  FROM fedora:30
>  
>  RUN dnf install -y \
> -	gcc flex bison meson ninja-build xdotool \
> +	gcc flex bison libatomic meson ninja-build xdotool \
>  	'pkgconfig(libdrm)' \
>  	'pkgconfig(pciaccess)' \
>  	'pkgconfig(libkmod)' \
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 2/4] gitlab-ci: add libatomic to docker images
@ 2019-06-25 10:48     ` Ser, Simon
  0 siblings, 0 replies; 21+ messages in thread
From: Ser, Simon @ 2019-06-25 10:48 UTC (permalink / raw)
  To: guillaume.tucker, Hiler, Arkadiusz, Latvala, Petri; +Cc: igt-dev, intel-gfx

On Mon, 2019-06-24 at 17:22 +0100, Guillaume Tucker wrote:
> Add libatomic to the Fedora docker image so it can link binaries that
> use __atomic_* functions.  Also explicitly add libatomic1 to Debian
> docker images as it is needed in particular on non-x86 architectures
> for run-time linkage.
> 
> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>

Reviewed-by: Simon Ser <simon.ser@intel.com>

> ---
> 
> Notes:
>     v2: add libatomic1 in Debian docker images
>     v3: add libatomic1 for non-x86 arches in Debian docker images
>     v4: rebase to add libatomic1 in Dockerfile.debian-minimal
> 
>  Dockerfile.debian-arm64   | 1 +
>  Dockerfile.debian-armhf   | 1 +
>  Dockerfile.debian-minimal | 1 +
>  Dockerfile.fedora         | 2 +-
>  4 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
> index 7b3a3c7ca803..c9fb28c804b8 100644
> --- a/Dockerfile.debian-arm64
> +++ b/Dockerfile.debian-arm64
> @@ -14,6 +14,7 @@ RUN dpkg --add-architecture arm64
>  RUN apt-get update
>  RUN apt-get install -y \
>  			gcc-aarch64-linux-gnu \
> +			libatomic1:arm64 \
>  			libpciaccess-dev:arm64 \
>  			libkmod-dev:arm64 \
>  			libprocps-dev:arm64 \
> diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> index c67a1e2acf6a..3a133d849d68 100644
> --- a/Dockerfile.debian-armhf
> +++ b/Dockerfile.debian-armhf
> @@ -14,6 +14,7 @@ RUN dpkg --add-architecture armhf
>  RUN apt-get update
>  RUN apt-get install -y \
>  			gcc-arm-linux-gnueabihf \
> +			libatomic1:armhf \
>  			libpciaccess-dev:armhf \
>  			libkmod-dev:armhf \
>  			libprocps-dev:armhf \
> diff --git a/Dockerfile.debian-minimal b/Dockerfile.debian-minimal
> index bbe70bed2fb4..63844694dafa 100644
> --- a/Dockerfile.debian-minimal
> +++ b/Dockerfile.debian-minimal
> @@ -6,6 +6,7 @@ RUN apt-get install -y \
>  			flex \
>  			bison \
>  			pkg-config \
> +			libatomic1 \
>  			libpciaccess-dev \
>  			libkmod-dev \
>  			libprocps-dev \
> diff --git a/Dockerfile.fedora b/Dockerfile.fedora
> index 6686e587613d..c84b412b0723 100644
> --- a/Dockerfile.fedora
> +++ b/Dockerfile.fedora
> @@ -1,7 +1,7 @@
>  FROM fedora:30
>  
>  RUN dnf install -y \
> -	gcc flex bison meson ninja-build xdotool \
> +	gcc flex bison libatomic meson ninja-build xdotool \
>  	'pkgconfig(libdrm)' \
>  	'pkgconfig(pciaccess)' \
>  	'pkgconfig(libkmod)' \
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH i-g-t v4 0/4] Use C11 atomics
  2019-06-24 16:22 ` [igt-dev] " Guillaume Tucker
@ 2019-06-25 10:54   ` Ser, Simon
  -1 siblings, 0 replies; 21+ messages in thread
From: Ser, Simon @ 2019-06-25 10:54 UTC (permalink / raw)
  To: guillaume.tucker, Hiler, Arkadiusz, Latvala, Petri; +Cc: igt-dev, intel-gfx

On Mon, 2019-06-24 at 17:22 +0100, Guillaume Tucker wrote:
> This series replaces calls to the __sync_* functions with the more
> recent atomic_* ones defined in stdatomic.h in gem_create and
> sw_sync.  It also adds dependency on libatomic when required, that is
> to say when the CPU architecture doesn't provide native support for
> some atomic operations.  This makes the tests more portable, in
> particular for 32-bit MIPS which doesn't support 64-bit atomics.

Thanks for this series! Pushed:

To gitlab.freedesktop.org:drm/igt-gpu-tools.git
   a6f5cc854efb..5eafa33dbdb1  master -> master

> v2:
>  - add linker test to only add dependency on libatomic when needed
>  - only add libatomic dependency to gem_create and sw_sync
>  - use stdatomic.h and _Atomic type modifier
>  - explicitly require libatomic in all Docker images
> 
> v3:
>  - use sub-arch libatomic1 in Debian docker images
>  - use null_dep in meson.build
> 
> v4:
>  - rebase with changes in Dockerfile.debian-minimal
> 
> Guillaume Tucker (4):
>   meson: add libatomic dependency
>   gitlab-ci: add libatomic to docker images
>   i915/gem_create: use atomic_* instead of __sync_*
>   tests/sw_sync: use atomic_* instead of __sync_*
> 
>  Dockerfile.debian-arm64   |  1 +
>  Dockerfile.debian-armhf   |  1 +
>  Dockerfile.debian-minimal |  1 +
>  Dockerfile.fedora         |  2 +-
>  meson.build               | 14 ++++++++++++++
>  tests/Makefile.am         |  3 ++-
>  tests/i915/gem_create.c   | 16 ++++++++++++----
>  tests/meson.build         | 17 +++++++++++++++--
>  tests/sw_sync.c           | 12 ++++++------
>  9 files changed, 53 insertions(+), 14 deletions(-)
> 
> --
> 2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v4 0/4] Use C11 atomics
@ 2019-06-25 10:54   ` Ser, Simon
  0 siblings, 0 replies; 21+ messages in thread
From: Ser, Simon @ 2019-06-25 10:54 UTC (permalink / raw)
  To: guillaume.tucker, Hiler, Arkadiusz, Latvala, Petri; +Cc: igt-dev, intel-gfx

On Mon, 2019-06-24 at 17:22 +0100, Guillaume Tucker wrote:
> This series replaces calls to the __sync_* functions with the more
> recent atomic_* ones defined in stdatomic.h in gem_create and
> sw_sync.  It also adds dependency on libatomic when required, that is
> to say when the CPU architecture doesn't provide native support for
> some atomic operations.  This makes the tests more portable, in
> particular for 32-bit MIPS which doesn't support 64-bit atomics.

Thanks for this series! Pushed:

To gitlab.freedesktop.org:drm/igt-gpu-tools.git
   a6f5cc854efb..5eafa33dbdb1  master -> master

> v2:
>  - add linker test to only add dependency on libatomic when needed
>  - only add libatomic dependency to gem_create and sw_sync
>  - use stdatomic.h and _Atomic type modifier
>  - explicitly require libatomic in all Docker images
> 
> v3:
>  - use sub-arch libatomic1 in Debian docker images
>  - use null_dep in meson.build
> 
> v4:
>  - rebase with changes in Dockerfile.debian-minimal
> 
> Guillaume Tucker (4):
>   meson: add libatomic dependency
>   gitlab-ci: add libatomic to docker images
>   i915/gem_create: use atomic_* instead of __sync_*
>   tests/sw_sync: use atomic_* instead of __sync_*
> 
>  Dockerfile.debian-arm64   |  1 +
>  Dockerfile.debian-armhf   |  1 +
>  Dockerfile.debian-minimal |  1 +
>  Dockerfile.fedora         |  2 +-
>  meson.build               | 14 ++++++++++++++
>  tests/Makefile.am         |  3 ++-
>  tests/i915/gem_create.c   | 16 ++++++++++++----
>  tests/meson.build         | 17 +++++++++++++++--
>  tests/sw_sync.c           | 12 ++++++------
>  9 files changed, 53 insertions(+), 14 deletions(-)
> 
> --
> 2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH i-g-t v4 0/4] Use C11 atomics
  2019-06-25 10:54   ` [igt-dev] " Ser, Simon
@ 2019-06-25 13:04     ` Guillaume Tucker
  -1 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-25 13:04 UTC (permalink / raw)
  To: Ser, Simon, Hiler, Arkadiusz, Latvala, Petri; +Cc: igt-dev, intel-gfx

On 25/06/2019 11:54, Ser, Simon wrote:
> On Mon, 2019-06-24 at 17:22 +0100, Guillaume Tucker wrote:
>> This series replaces calls to the __sync_* functions with the more
>> recent atomic_* ones defined in stdatomic.h in gem_create and
>> sw_sync.  It also adds dependency on libatomic when required, that is
>> to say when the CPU architecture doesn't provide native support for
>> some atomic operations.  This makes the tests more portable, in
>> particular for 32-bit MIPS which doesn't support 64-bit atomics.
>>
> Thanks for this series! Pushed:
> 
> To gitlab.freedesktop.org:drm/igt-gpu-tools.git
>    a6f5cc854efb..5eafa33dbdb1  master -> master

Awesome!

The patch I sent separately to enable MIPS in Gitlab CI should
now be ready to be pushed as well, I'll follow up on the other
thread.

Guillaume

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Intel-gfx] [PATCH i-g-t v4 0/4] Use C11 atomics
@ 2019-06-25 13:04     ` Guillaume Tucker
  0 siblings, 0 replies; 21+ messages in thread
From: Guillaume Tucker @ 2019-06-25 13:04 UTC (permalink / raw)
  To: Ser, Simon, Hiler, Arkadiusz, Latvala, Petri; +Cc: igt-dev, intel-gfx

On 25/06/2019 11:54, Ser, Simon wrote:
> On Mon, 2019-06-24 at 17:22 +0100, Guillaume Tucker wrote:
>> This series replaces calls to the __sync_* functions with the more
>> recent atomic_* ones defined in stdatomic.h in gem_create and
>> sw_sync.  It also adds dependency on libatomic when required, that is
>> to say when the CPU architecture doesn't provide native support for
>> some atomic operations.  This makes the tests more portable, in
>> particular for 32-bit MIPS which doesn't support 64-bit atomics.
>>
> Thanks for this series! Pushed:
> 
> To gitlab.freedesktop.org:drm/igt-gpu-tools.git
>    a6f5cc854efb..5eafa33dbdb1  master -> master

Awesome!

The patch I sent separately to enable MIPS in Gitlab CI should
now be ready to be pushed as well, I'll follow up on the other
thread.

Guillaume

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2019-06-25 13:04 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-24 16:22 [PATCH i-g-t v4 0/4] Use C11 atomics Guillaume Tucker
2019-06-24 16:22 ` [igt-dev] " Guillaume Tucker
2019-06-24 16:22 ` [PATCH i-g-t v4 1/4] meson: add libatomic dependency Guillaume Tucker
2019-06-24 16:22   ` [igt-dev] " Guillaume Tucker
2019-06-24 16:22 ` [PATCH i-g-t v4 2/4] gitlab-ci: add libatomic to docker images Guillaume Tucker
2019-06-24 16:22   ` [igt-dev] " Guillaume Tucker
2019-06-25 10:48   ` Ser, Simon
2019-06-25 10:48     ` [igt-dev] " Ser, Simon
2019-06-24 16:22 ` [PATCH i-g-t v4 3/4] i915/gem_create: use atomic_* instead of __sync_* Guillaume Tucker
2019-06-24 16:22   ` [igt-dev] " Guillaume Tucker
2019-06-24 16:22 ` [PATCH i-g-t v4 4/4] tests/sw_sync: " Guillaume Tucker
2019-06-24 16:22   ` [igt-dev] " Guillaume Tucker
2019-06-24 16:59 ` [igt-dev] ✗ Fi.CI.BAT: failure for Use C11 atomics (rev4) Patchwork
2019-06-25  7:19   ` Ser, Simon
2019-06-25  8:55     ` Guillaume Tucker
2019-06-25  8:06 ` [igt-dev] ✓ Fi.CI.BAT: success for Use C11 atomics (rev5) Patchwork
2019-06-25  9:16 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-06-25 10:54 ` [PATCH i-g-t v4 0/4] Use C11 atomics Ser, Simon
2019-06-25 10:54   ` [igt-dev] " Ser, Simon
2019-06-25 13:04   ` Guillaume Tucker
2019-06-25 13:04     ` [Intel-gfx] " Guillaume Tucker

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.