Skip to contentSkip to conversation

Use C11 atomics

PATCH In review Guillaume Tucker 3 participants 13 messages Jun 24, 2019 – Jun 25, 2019 Arm/Amlogic Meson SoC support

lore
Share & tools
lore
#0 lore raw

v4 cover Use C11 atomics

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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#1 lore raw

PATCH v4 1/4 meson: add libatomic dependency

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.

---

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(+)
meson.build +14 -0
index b1028ee6aaaf..f0cb2543ca64 100644
@@ -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
Signature · 6 lines
2.20.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#2 lore raw

PATCH v4 2/4 gitlab-ci: add libatomic to docker images

In reply to Guillaume Tucker

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.

---

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(-)
Dockerfile.debian-arm64 +1 -0
index 7b3a3c7ca803..c9fb28c804b8 100644
@@ -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 \
Dockerfile.debian-armhf +1 -0
index c67a1e2acf6a..3a133d849d68 100644
@@ -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 \
Dockerfile.debian-minimal +1 -0
index bbe70bed2fb4..63844694dafa 100644
@@ -6,6 +6,7 @@ RUN apt-get install -y \
 			flex \
 			bison \
 			pkg-config \
+			libatomic1 \
 			libpciaccess-dev \
 			libkmod-dev \
 			libprocps-dev \
Dockerfile.fedora +1 -1
index 6686e587613d..c84b412b0723 100644
@@ -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)' \
Signature · 6 lines
2.20.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Reviewed-by on v4 2/4
#3 lore raw

Re: [igt-dev] [PATCH i-g-t v4 2/4] gitlab-ci: add libatomic to docker images

Quoted 6 lines · Guillaume Tucker

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.

Quoted 54 lines

---

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(-)
Dockerfile.debian-arm64 +1 -0
index 7b3a3c7ca803..c9fb28c804b8 100644
@@ -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 \
Dockerfile.debian-armhf +1 -0
index c67a1e2acf6a..3a133d849d68 100644
@@ -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 \
Dockerfile.debian-minimal +1 -0
index bbe70bed2fb4..63844694dafa 100644
@@ -6,6 +6,7 @@ RUN apt-get install -y \
 			flex \
 			bison \
 			pkg-config \
+			libatomic1 \
 			libpciaccess-dev \
 			libkmod-dev \
 			libprocps-dev \
Dockerfile.fedora +0 -0
index 6686e587613d..c84b412b0723 100644

Dockerfile.fedora line 7

Quoted 8 lines
Dockerfile.fedora +1 -1
@@ -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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#4 lore raw

PATCH v4 3/4 i915/gem_create: use atomic_* instead of __sync_*

In reply to Guillaume Tucker

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

---

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(-)
tests/Makefile.am +1 -1
index 5a428b8ac213..bbd386c9c2db 100644
@@ -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)
tests/i915/gem_create.c +12 -4
index 43cbf45f289b..9008cd8a21e3 100644
@@ -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;
tests/meson.build +8 -1
index f168fbbae2a8..ffd432d38193 100644
@@ -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 ],
Signature · 6 lines
2.20.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#5 lore raw

PATCH v4 4/4 tests/sw_sync: use atomic_* instead of __sync_*

In reply to Guillaume Tucker

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.

---

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(-)
tests/Makefile.am +1 -0
index bbd386c9c2db..7d71df8c7a2e 100644
@@ -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
 
tests/meson.build +7 -1
index ffd432d38193..34a74025a537 100644
@@ -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')
tests/sw_sync.c +6 -6
index 950b8b614759..62d1d17cab45 100644
@@ -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();
 }
-
Signature · 6 lines
2.20.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
#6 lore raw

[igt-dev] ✗ Fi.CI.BAT: failure for Use C11 atomics (rev4)

In reply to Guillaume Tucker
== Series Details ==

== 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@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-blb-e6850/igt@[email protected]

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@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-icl-u3/igt@[email protected]

#### 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@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-kbl-7500u/igt@[email protected]

* 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@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-hsw-peppy/igt@[email protected]

[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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#7 lore raw

Re: [igt-dev] ✗ Fi.CI.BAT: failure for Use C11 atomics (rev4)

Quoted 30 lines · Patchwork

== 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:

Quoted 9 lines

### 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@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-blb-e6850/igt@[email protected]

Cc Martin

Quoted 49 lines

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@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-icl-u3/igt@[email protected]

#### 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@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-kbl-7500u/igt@[email protected]

* 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@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-hsw-peppy/igt@[email protected]

[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

Quoted 7 lines

== Logs ==

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

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#8 lore raw

Re: [igt-dev] ✗ Fi.CI.BAT: failure for Use C11 atomics (rev4)

Quoted 8 lines · Simon
Quoted 7 lines

#### 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@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3194/fi-blb-e6850/igt@[email protected]

Cc Martin

FYI I did a re-run and it passed.

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

Guillaume

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#9 lore raw

[igt-dev] ✓ Fi.CI.BAT: success for Use C11 atomics (rev5)

In reply to Guillaume Tucker
== Series Details ==

== 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@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/fi-ilk-650/igt@[email protected]

#### 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@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/fi-icl-u3/igt@[email protected]

* 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@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/fi-kbl-7500u/igt@[email protected]

[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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#10 lore raw

[igt-dev] ✓ Fi.CI.IGT: success for Use C11 atomics (rev5)

In reply to Guillaume Tucker
== Series Details ==

== 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@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-apl5/igt@[email protected]

* 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@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-kbl2/igt@[email protected]

* 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@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw7/igt@[email protected]

* 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@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw5/igt@[email protected]

* 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@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb2/igt@[email protected]

* 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@[email protected]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw1/igt@[email protected]

* 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@[email protected]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw2/igt@[email protected]

* 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@[email protected]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-snb2/igt@[email protected]

* 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@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-apl3/igt@[email protected]

#### 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@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-kbl3/igt@[email protected]

* 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@[email protected]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb7/igt@[email protected]

* 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@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-apl7/igt@[email protected]

* 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@[email protected]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb1/igt@[email protected]

* 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@[email protected]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-kbl1/igt@[email protected]

* 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@[email protected]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-glk1/igt@[email protected]
- 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@[email protected]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw6/igt@[email protected]

* 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@[email protected]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-snb1/igt@[email protected]

* 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@[email protected]
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-snb1/igt@[email protected]

* 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@[email protected]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-kbl4/igt@[email protected]

* 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@[email protected]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-apl8/igt@[email protected]

* 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@[email protected]
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb1/igt@[email protected]

* 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@[email protected]
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-apl6/igt@[email protected]

* 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@[email protected]
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-hsw7/igt@[email protected]

* 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@[email protected]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-iclb6/igt@[email protected]

#### 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@[email protected]
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3196/shard-snb1/igt@[email protected]

[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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#11 lore raw
In reply to Guillaume Tucker
Quoted 6 lines · Guillaume Tucker

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

Quoted 30 lines

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(-)
Quoted 2 lines

--
2.20.1

_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev

#12 lore raw
Quoted 8 lines · Simon
Quoted 7 lines · Guillaume Tucker

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.

Quoted 4 lines

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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx