* [igt-dev] [PATCH i-g-t v2 0/4] Use C11 atomics
@ 2019-06-13 13:53 Guillaume Tucker
2019-06-13 13:53 ` [Intel-gfx] [PATCH i-g-t v2 1/4] meson: add libatomic dependency Guillaume Tucker
` (5 more replies)
0 siblings, 6 replies; 18+ messages in thread
From: Guillaume Tucker @ 2019-06-13 13:53 UTC (permalink / raw)
To: Arkadiusz Hiler, Petri Latvala; +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
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 | 1 +
Dockerfile.debian-arm64 | 1 +
Dockerfile.debian-armhf | 1 +
Dockerfile.fedora | 2 +-
meson.build | 13 +++++++++++++
tests/Makefile.am | 3 ++-
tests/i915/gem_create.c | 16 ++++++++++++----
tests/meson.build | 17 +++++++++++++++--
tests/sw_sync.c | 12 ++++++------
9 files changed, 52 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] 18+ messages in thread
* [Intel-gfx] [PATCH i-g-t v2 1/4] meson: add libatomic dependency
2019-06-13 13:53 [igt-dev] [PATCH i-g-t v2 0/4] Use C11 atomics Guillaume Tucker
@ 2019-06-13 13:53 ` Guillaume Tucker
2019-06-14 8:07 ` [igt-dev] " Ser, Simon
2019-06-13 13:53 ` [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images Guillaume Tucker
` (4 subsequent siblings)
5 siblings, 1 reply; 18+ messages in thread
From: Guillaume Tucker @ 2019-06-13 13:53 UTC (permalink / raw)
To: Arkadiusz Hiler, Petri Latvala; +Cc: igt-dev, intel-gfx
Add conditional dependency on 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 enables atomic operations to be on a wider number of
architectures including MIPS.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
---
meson.build | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/meson.build b/meson.build
index 6268c58d3634..da25a28f3268 100644
--- a/meson.build
+++ b/meson.build
@@ -179,6 +179,19 @@ math = cc.find_library('m')
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 = []
+else
+ libatomic = cc.find_library('atomic')
+endif
if cc.has_header('linux/kd.h')
config.set('HAVE_LINUX_KD_H', 1)
--
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] 18+ messages in thread
* [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images
2019-06-13 13:53 [igt-dev] [PATCH i-g-t v2 0/4] Use C11 atomics Guillaume Tucker
2019-06-13 13:53 ` [Intel-gfx] [PATCH i-g-t v2 1/4] meson: add libatomic dependency Guillaume Tucker
@ 2019-06-13 13:53 ` Guillaume Tucker
2019-06-14 8:08 ` Ser, Simon
2019-06-14 10:00 ` Petri Latvala
2019-06-13 13:53 ` [igt-dev] [PATCH i-g-t v2 3/4] i915/gem_create: use atomic_* instead of __sync_* Guillaume Tucker
` (3 subsequent siblings)
5 siblings, 2 replies; 18+ messages in thread
From: Guillaume Tucker @ 2019-06-13 13:53 UTC (permalink / raw)
To: Arkadiusz Hiler, Petri Latvala; +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 even though it's already installed as a dependency.
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
---
Dockerfile.debian | 1 +
Dockerfile.debian-arm64 | 1 +
Dockerfile.debian-armhf | 1 +
Dockerfile.fedora | 2 +-
4 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/Dockerfile.debian b/Dockerfile.debian
index b9c3be3945e0..d23591850c4e 100644
--- a/Dockerfile.debian
+++ b/Dockerfile.debian
@@ -6,6 +6,7 @@ RUN apt-get install -y \
flex \
bison \
pkg-config \
+ libatomic1 \
libpciaccess-dev \
libkmod-dev \
libprocps-dev \
diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
index 7b3a3c7ca803..003bb22b3215 100644
--- a/Dockerfile.debian-arm64
+++ b/Dockerfile.debian-arm64
@@ -5,6 +5,7 @@ RUN apt-get install -y \
flex \
bison \
pkg-config \
+ libatomic1 \
x11proto-dri2-dev \
python-docutils \
valgrind \
diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
index c67a1e2acf6a..3139927c193a 100644
--- a/Dockerfile.debian-armhf
+++ b/Dockerfile.debian-armhf
@@ -5,6 +5,7 @@ RUN apt-get install -y \
flex \
bison \
pkg-config \
+ libatomic1 \
x11proto-dri2-dev \
python-docutils \
valgrind \
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] 18+ messages in thread
* [igt-dev] [PATCH i-g-t v2 3/4] i915/gem_create: use atomic_* instead of __sync_*
2019-06-13 13:53 [igt-dev] [PATCH i-g-t v2 0/4] Use C11 atomics Guillaume Tucker
2019-06-13 13:53 ` [Intel-gfx] [PATCH i-g-t v2 1/4] meson: add libatomic dependency Guillaume Tucker
2019-06-13 13:53 ` [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images Guillaume Tucker
@ 2019-06-13 13:53 ` Guillaume Tucker
2019-06-14 8:11 ` Ser, Simon
2019-06-13 13:53 ` [Intel-gfx] [PATCH i-g-t v2 4/4] tests/sw_sync: " Guillaume Tucker
` (2 subsequent siblings)
5 siblings, 1 reply; 18+ messages in thread
From: Guillaume Tucker @ 2019-06-13 13:53 UTC (permalink / raw)
To: Arkadiusz Hiler, Petri Latvala; +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>
---
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] 18+ messages in thread
* [Intel-gfx] [PATCH i-g-t v2 4/4] tests/sw_sync: use atomic_* instead of __sync_*
2019-06-13 13:53 [igt-dev] [PATCH i-g-t v2 0/4] Use C11 atomics Guillaume Tucker
` (2 preceding siblings ...)
2019-06-13 13:53 ` [igt-dev] [PATCH i-g-t v2 3/4] i915/gem_create: use atomic_* instead of __sync_* Guillaume Tucker
@ 2019-06-13 13:53 ` Guillaume Tucker
2019-06-14 8:12 ` [igt-dev] " Ser, Simon
2019-06-13 16:33 ` [igt-dev] ✓ Fi.CI.BAT: success for Use C11 atomics Patchwork
2019-06-15 5:16 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
5 siblings, 1 reply; 18+ messages in thread
From: Guillaume Tucker @ 2019-06-13 13:53 UTC (permalink / raw)
To: Arkadiusz Hiler, Petri Latvala; +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>
---
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] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Use C11 atomics
2019-06-13 13:53 [igt-dev] [PATCH i-g-t v2 0/4] Use C11 atomics Guillaume Tucker
` (3 preceding siblings ...)
2019-06-13 13:53 ` [Intel-gfx] [PATCH i-g-t v2 4/4] tests/sw_sync: " Guillaume Tucker
@ 2019-06-13 16:33 ` Patchwork
2019-06-15 5:16 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
5 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2019-06-13 16:33 UTC (permalink / raw)
To: Guillaume Tucker; +Cc: igt-dev
== Series Details ==
Series: Use C11 atomics
URL : https://patchwork.freedesktop.org/series/62048/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6264 -> IGTPW_3147
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/62048/revisions/1/mbox/
Known issues
------------
Here are the changes found in IGTPW_3147 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_getparams_basic@basic-subslice-total:
- fi-icl-u3: [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/fi-icl-u3/igt@i915_getparams_basic@basic-subslice-total.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/fi-icl-u3/igt@i915_getparams_basic@basic-subslice-total.html
* igt@i915_module_load@reload:
- fi-icl-u3: [PASS][3] -> [DMESG-WARN][4] ([fdo#106107])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/fi-icl-u3/igt@i915_module_load@reload.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/fi-icl-u3/igt@i915_module_load@reload.html
#### Possible fixes ####
* igt@gem_ctx_switch@basic-default:
- fi-icl-guc: [INCOMPLETE][5] ([fdo#107713] / [fdo#108569]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/fi-icl-guc/igt@gem_ctx_switch@basic-default.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/fi-icl-guc/igt@gem_ctx_switch@basic-default.html
[fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
[fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
Participating hosts (53 -> 47)
------------------------------
Additional (1): fi-hsw-4770
Missing (7): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-byt-clapper fi-bdw-samus
Build changes
-------------
* IGT: IGT_5055 -> IGTPW_3147
CI_DRM_6264: 40a5ebf378e800ed3654997ab43267e1aea8ccd1 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3147: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/
IGT_5055: 495287320225e7f180d384cad7b207b77154438f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 1/4] meson: add libatomic dependency
2019-06-13 13:53 ` [Intel-gfx] [PATCH i-g-t v2 1/4] meson: add libatomic dependency Guillaume Tucker
@ 2019-06-14 8:07 ` Ser, Simon
2019-06-18 8:33 ` Guillaume Tucker
0 siblings, 1 reply; 18+ messages in thread
From: Ser, Simon @ 2019-06-14 8:07 UTC (permalink / raw)
To: guillaume.tucker@collabora.com, Hiler, Arkadiusz, Latvala, Petri
Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
On Thu, 2019-06-13 at 14:53 +0100, Guillaume Tucker wrote:
> Add conditional dependency on 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 enables atomic operations to be on a wider number of
> architectures including MIPS.
>
> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> ---
> meson.build | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/meson.build b/meson.build
> index 6268c58d3634..da25a28f3268 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -179,6 +179,19 @@ math = cc.find_library('m')
> 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);
Minor: maybe we could've used stdatomic.h's atomic_* functions (without
the "__" prefix) for consistency with the actual IGT code?
> + return 0;
> +}''', name : 'built-in atomics')
> + libatomic = []
We could use null_dep instead, to make it consistent with the other
branch.
> +else
> + libatomic = cc.find_library('atomic')
> +endif
>
> if cc.has_header('linux/kd.h')
> config.set('HAVE_LINUX_KD_H', 1)
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images
2019-06-13 13:53 ` [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images Guillaume Tucker
@ 2019-06-14 8:08 ` Ser, Simon
2019-06-14 10:00 ` Petri Latvala
1 sibling, 0 replies; 18+ messages in thread
From: Ser, Simon @ 2019-06-14 8:08 UTC (permalink / raw)
To: guillaume.tucker@collabora.com, Hiler, Arkadiusz, Latvala, Petri
Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
On Thu, 2019-06-13 at 14:53 +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 even though it's already installed as a dependency.
>
> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
> ---
> Dockerfile.debian | 1 +
> Dockerfile.debian-arm64 | 1 +
> Dockerfile.debian-armhf | 1 +
> Dockerfile.fedora | 2 +-
> 4 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/Dockerfile.debian b/Dockerfile.debian
> index b9c3be3945e0..d23591850c4e 100644
> --- a/Dockerfile.debian
> +++ b/Dockerfile.debian
> @@ -6,6 +6,7 @@ RUN apt-get install -y \
> flex \
> bison \
> pkg-config \
> + libatomic1 \
> libpciaccess-dev \
> libkmod-dev \
> libprocps-dev \
> diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
> index 7b3a3c7ca803..003bb22b3215 100644
> --- a/Dockerfile.debian-arm64
> +++ b/Dockerfile.debian-arm64
> @@ -5,6 +5,7 @@ RUN apt-get install -y \
> flex \
> bison \
> pkg-config \
> + libatomic1 \
> x11proto-dri2-dev \
> python-docutils \
> valgrind \
> diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> index c67a1e2acf6a..3139927c193a 100644
> --- a/Dockerfile.debian-armhf
> +++ b/Dockerfile.debian-armhf
> @@ -5,6 +5,7 @@ RUN apt-get install -y \
> flex \
> bison \
> pkg-config \
> + libatomic1 \
> x11proto-dri2-dev \
> python-docutils \
> valgrind \
> 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] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 3/4] i915/gem_create: use atomic_* instead of __sync_*
2019-06-13 13:53 ` [igt-dev] [PATCH i-g-t v2 3/4] i915/gem_create: use atomic_* instead of __sync_* Guillaume Tucker
@ 2019-06-14 8:11 ` Ser, Simon
0 siblings, 0 replies; 18+ messages in thread
From: Ser, Simon @ 2019-06-14 8:11 UTC (permalink / raw)
To: guillaume.tucker@collabora.com, Hiler, Arkadiusz, Latvala, Petri
Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
On Thu, 2019-06-13 at 14:53 +0100, Guillaume Tucker wrote:
> 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>
LGTM!
Reviewed-by: Simon Ser <simon.ser@intel.com>
> ---
> 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 ],
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 4/4] tests/sw_sync: use atomic_* instead of __sync_*
2019-06-13 13:53 ` [Intel-gfx] [PATCH i-g-t v2 4/4] tests/sw_sync: " Guillaume Tucker
@ 2019-06-14 8:12 ` Ser, Simon
0 siblings, 0 replies; 18+ messages in thread
From: Ser, Simon @ 2019-06-14 8:12 UTC (permalink / raw)
To: guillaume.tucker@collabora.com, Hiler, Arkadiusz, Latvala, Petri
Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
On Thu, 2019-06-13 at 14:53 +0100, Guillaume Tucker wrote:
> 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>
Thanks!
> ---
> 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();
> }
> -
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images
2019-06-13 13:53 ` [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images Guillaume Tucker
2019-06-14 8:08 ` Ser, Simon
@ 2019-06-14 10:00 ` Petri Latvala
2019-06-14 11:24 ` Ser, Simon
1 sibling, 1 reply; 18+ messages in thread
From: Petri Latvala @ 2019-06-14 10:00 UTC (permalink / raw)
To: Guillaume Tucker; +Cc: igt-dev, intel-gfx
On Thu, Jun 13, 2019 at 02:53:20PM +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 even though it's already installed as a dependency.
>
> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> ---
> Dockerfile.debian | 1 +
> Dockerfile.debian-arm64 | 1 +
> Dockerfile.debian-armhf | 1 +
> Dockerfile.fedora | 2 +-
> 4 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/Dockerfile.debian b/Dockerfile.debian
> index b9c3be3945e0..d23591850c4e 100644
> --- a/Dockerfile.debian
> +++ b/Dockerfile.debian
> @@ -6,6 +6,7 @@ RUN apt-get install -y \
> flex \
> bison \
> pkg-config \
> + libatomic1 \
> libpciaccess-dev \
> libkmod-dev \
> libprocps-dev \
> diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
> index 7b3a3c7ca803..003bb22b3215 100644
> --- a/Dockerfile.debian-arm64
> +++ b/Dockerfile.debian-arm64
> @@ -5,6 +5,7 @@ RUN apt-get install -y \
> flex \
> bison \
> pkg-config \
> + libatomic1 \
> x11proto-dri2-dev \
> python-docutils \
> valgrind \
> diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> index c67a1e2acf6a..3139927c193a 100644
> --- a/Dockerfile.debian-armhf
> +++ b/Dockerfile.debian-armhf
> @@ -5,6 +5,7 @@ RUN apt-get install -y \
> flex \
> bison \
> pkg-config \
> + libatomic1 \
libatomic1 is the runtime lib, for linking you need the package that
contains libatomic.so. That is *quick search*
libgcc-$version-dev. There doesn't seem to be a generic metapackage
for "the latest libgcc-dev", other than... 'gcc'.
Since Debian is acting a bit speshul here I'd just drop the explicit
libatomic installation.
> x11proto-dri2-dev \
> python-docutils \
> valgrind \
> 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 \
Possibly the same comment on fedora but I'm not aware of how they
split their gcc package. Anyway, the file to check for is
'libatomic.so'.
--
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images
2019-06-14 10:00 ` Petri Latvala
@ 2019-06-14 11:24 ` Ser, Simon
2019-06-14 12:43 ` Petri Latvala
0 siblings, 1 reply; 18+ messages in thread
From: Ser, Simon @ 2019-06-14 11:24 UTC (permalink / raw)
To: guillaume.tucker@collabora.com, Latvala, Petri
Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
On Fri, 2019-06-14 at 13:00 +0300, Petri Latvala wrote:
> On Thu, Jun 13, 2019 at 02:53:20PM +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 even though it's already installed as a dependency.
> >
> > Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> > ---
> > Dockerfile.debian | 1 +
> > Dockerfile.debian-arm64 | 1 +
> > Dockerfile.debian-armhf | 1 +
> > Dockerfile.fedora | 2 +-
> > 4 files changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/Dockerfile.debian b/Dockerfile.debian
> > index b9c3be3945e0..d23591850c4e 100644
> > --- a/Dockerfile.debian
> > +++ b/Dockerfile.debian
> > @@ -6,6 +6,7 @@ RUN apt-get install -y \
> > flex \
> > bison \
> > pkg-config \
> > + libatomic1 \
> > libpciaccess-dev \
> > libkmod-dev \
> > libprocps-dev \
> > diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
> > index 7b3a3c7ca803..003bb22b3215 100644
> > --- a/Dockerfile.debian-arm64
> > +++ b/Dockerfile.debian-arm64
> > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> > flex \
> > bison \
> > pkg-config \
> > + libatomic1 \
> > x11proto-dri2-dev \
> > python-docutils \
> > valgrind \
> > diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> > index c67a1e2acf6a..3139927c193a 100644
> > --- a/Dockerfile.debian-armhf
> > +++ b/Dockerfile.debian-armhf
> > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> > flex \
> > bison \
> > pkg-config \
> > + libatomic1 \
>
> libatomic1 is the runtime lib, for linking you need the package that
> contains libatomic.so. That is *quick search*
> libgcc-$version-dev. There doesn't seem to be a generic metapackage
> for "the latest libgcc-dev", other than... 'gcc'.
>
> Since Debian is acting a bit speshul here I'd just drop the explicit
> libatomic installation.
Hmm, I see the .so in libatomic1…
https://packages.debian.org/jessie/amd64/libatomic1/filelist
>
>
> > x11proto-dri2-dev \
> > python-docutils \
> > valgrind \
> > 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 \
>
> Possibly the same comment on fedora but I'm not aware of how they
> split their gcc package. Anyway, the file to check for is
> 'libatomic.so'.
>
>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images
2019-06-14 11:24 ` Ser, Simon
@ 2019-06-14 12:43 ` Petri Latvala
2019-06-14 12:53 ` [Intel-gfx] " Ser, Simon
0 siblings, 1 reply; 18+ messages in thread
From: Petri Latvala @ 2019-06-14 12:43 UTC (permalink / raw)
To: Ser, Simon; +Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
On Fri, Jun 14, 2019 at 02:24:53PM +0300, Ser, Simon wrote:
> On Fri, 2019-06-14 at 13:00 +0300, Petri Latvala wrote:
> > On Thu, Jun 13, 2019 at 02:53:20PM +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 even though it's already installed as a dependency.
> > >
> > > Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> > > ---
> > > Dockerfile.debian | 1 +
> > > Dockerfile.debian-arm64 | 1 +
> > > Dockerfile.debian-armhf | 1 +
> > > Dockerfile.fedora | 2 +-
> > > 4 files changed, 4 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/Dockerfile.debian b/Dockerfile.debian
> > > index b9c3be3945e0..d23591850c4e 100644
> > > --- a/Dockerfile.debian
> > > +++ b/Dockerfile.debian
> > > @@ -6,6 +6,7 @@ RUN apt-get install -y \
> > > flex \
> > > bison \
> > > pkg-config \
> > > + libatomic1 \
> > > libpciaccess-dev \
> > > libkmod-dev \
> > > libprocps-dev \
> > > diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
> > > index 7b3a3c7ca803..003bb22b3215 100644
> > > --- a/Dockerfile.debian-arm64
> > > +++ b/Dockerfile.debian-arm64
> > > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> > > flex \
> > > bison \
> > > pkg-config \
> > > + libatomic1 \
> > > x11proto-dri2-dev \
> > > python-docutils \
> > > valgrind \
> > > diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> > > index c67a1e2acf6a..3139927c193a 100644
> > > --- a/Dockerfile.debian-armhf
> > > +++ b/Dockerfile.debian-armhf
> > > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> > > flex \
> > > bison \
> > > pkg-config \
> > > + libatomic1 \
> >
> > libatomic1 is the runtime lib, for linking you need the package that
> > contains libatomic.so. That is *quick search*
> > libgcc-$version-dev. There doesn't seem to be a generic metapackage
> > for "the latest libgcc-dev", other than... 'gcc'.
> >
> > Since Debian is acting a bit speshul here I'd just drop the explicit
> > libatomic installation.
>
> Hmm, I see the .so in libatomic1…
>
> https://packages.debian.org/jessie/amd64/libatomic1/filelist
Where? I only see the .so.1 and .so.1.1.0
--
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Intel-gfx] [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images
2019-06-14 12:43 ` Petri Latvala
@ 2019-06-14 12:53 ` Ser, Simon
2019-06-18 8:42 ` Guillaume Tucker
0 siblings, 1 reply; 18+ messages in thread
From: Ser, Simon @ 2019-06-14 12:53 UTC (permalink / raw)
To: Latvala, Petri
Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
On Fri, 2019-06-14 at 15:43 +0300, Petri Latvala wrote:
> On Fri, Jun 14, 2019 at 02:24:53PM +0300, Ser, Simon wrote:
> > On Fri, 2019-06-14 at 13:00 +0300, Petri Latvala wrote:
> > > On Thu, Jun 13, 2019 at 02:53:20PM +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 even though it's already installed as a dependency.
> > > >
> > > > Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> > > > ---
> > > > Dockerfile.debian | 1 +
> > > > Dockerfile.debian-arm64 | 1 +
> > > > Dockerfile.debian-armhf | 1 +
> > > > Dockerfile.fedora | 2 +-
> > > > 4 files changed, 4 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/Dockerfile.debian b/Dockerfile.debian
> > > > index b9c3be3945e0..d23591850c4e 100644
> > > > --- a/Dockerfile.debian
> > > > +++ b/Dockerfile.debian
> > > > @@ -6,6 +6,7 @@ RUN apt-get install -y \
> > > > flex \
> > > > bison \
> > > > pkg-config \
> > > > + libatomic1 \
> > > > libpciaccess-dev \
> > > > libkmod-dev \
> > > > libprocps-dev \
> > > > diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
> > > > index 7b3a3c7ca803..003bb22b3215 100644
> > > > --- a/Dockerfile.debian-arm64
> > > > +++ b/Dockerfile.debian-arm64
> > > > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> > > > flex \
> > > > bison \
> > > > pkg-config \
> > > > + libatomic1 \
> > > > x11proto-dri2-dev \
> > > > python-docutils \
> > > > valgrind \
> > > > diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> > > > index c67a1e2acf6a..3139927c193a 100644
> > > > --- a/Dockerfile.debian-armhf
> > > > +++ b/Dockerfile.debian-armhf
> > > > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> > > > flex \
> > > > bison \
> > > > pkg-config \
> > > > + libatomic1 \
> > >
> > > libatomic1 is the runtime lib, for linking you need the package that
> > > contains libatomic.so. That is *quick search*
> > > libgcc-$version-dev. There doesn't seem to be a generic metapackage
> > > for "the latest libgcc-dev", other than... 'gcc'.
> > >
> > > Since Debian is acting a bit speshul here I'd just drop the explicit
> > > libatomic installation.
> >
> > Hmm, I see the .so in libatomic1…
> >
> > https://packages.debian.org/jessie/amd64/libatomic1/filelist
>
> Where? I only see the .so.1 and .so.1.1.0
Bleh, indeed
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for Use C11 atomics
2019-06-13 13:53 [igt-dev] [PATCH i-g-t v2 0/4] Use C11 atomics Guillaume Tucker
` (4 preceding siblings ...)
2019-06-13 16:33 ` [igt-dev] ✓ Fi.CI.BAT: success for Use C11 atomics Patchwork
@ 2019-06-15 5:16 ` Patchwork
5 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2019-06-15 5:16 UTC (permalink / raw)
To: Guillaume Tucker; +Cc: igt-dev
== Series Details ==
Series: Use C11 atomics
URL : https://patchwork.freedesktop.org/series/62048/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6264_full -> IGTPW_3147_full
====================================================
Summary
-------
**WARNING**
Minor unknown changes coming with IGTPW_3147_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_3147_full, 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/1/mbox/
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_3147_full:
### IGT changes ###
#### Warnings ####
* igt@gem_exec_schedule@semaphore-resolve:
- shard-apl: [FAIL][1] ([fdo#110519]) -> [DMESG-FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-apl4/igt@gem_exec_schedule@semaphore-resolve.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-apl6/igt@gem_exec_schedule@semaphore-resolve.html
Known issues
------------
Here are the changes found in IGTPW_3147_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_eio@in-flight-suspend:
- shard-kbl: [PASS][3] -> [DMESG-WARN][4] ([fdo#108566])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-kbl7/igt@gem_eio@in-flight-suspend.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-kbl4/igt@gem_eio@in-flight-suspend.html
* igt@gem_persistent_relocs@forked-faulting-reloc-thrashing:
- shard-kbl: [PASS][5] -> [DMESG-WARN][6] ([fdo#110913 ]) +2 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-kbl1/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-kbl4/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html
* igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive:
- shard-snb: [PASS][7] -> [INCOMPLETE][8] ([fdo#105411]) +1 similar issue
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-snb2/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-snb4/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html
* igt@gem_persistent_relocs@forked-interruptible-thrashing:
- shard-iclb: [PASS][9] -> [DMESG-WARN][10] ([fdo#110913 ]) +4 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb8/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb4/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
* igt@gem_userptr_blits@map-fixed-invalidate-busy:
- shard-glk: [PASS][11] -> [DMESG-WARN][12] ([fdo#110913 ]) +1 similar issue
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-glk8/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-glk7/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
* igt@gem_userptr_blits@map-fixed-invalidate-busy-gup:
- shard-hsw: [PASS][13] -> [DMESG-WARN][14] ([fdo#110913 ]) +1 similar issue
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-hsw5/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-hsw6/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
* igt@gem_userptr_blits@sync-unmap-cycles:
- shard-snb: [PASS][15] -> [DMESG-WARN][16] ([fdo#110913 ]) +2 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-snb5/igt@gem_userptr_blits@sync-unmap-cycles.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-snb6/igt@gem_userptr_blits@sync-unmap-cycles.html
* igt@i915_pm_rpm@gem-execbuf-stress:
- shard-iclb: [PASS][17] -> [INCOMPLETE][18] ([fdo#107713] / [fdo#108840])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb8/igt@i915_pm_rpm@gem-execbuf-stress.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb4/igt@i915_pm_rpm@gem-execbuf-stress.html
* igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing:
- shard-hsw: [PASS][19] -> [INCOMPLETE][20] ([fdo#103540])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-hsw1/igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-hsw7/igt@kms_atomic_transition@plane-all-transition-nonblocking-fencing.html
* igt@kms_color@pipe-c-degamma:
- shard-glk: [PASS][21] -> [FAIL][22] ([fdo#104782])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-glk7/igt@kms_color@pipe-c-degamma.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-glk7/igt@kms_color@pipe-c-degamma.html
- shard-kbl: [PASS][23] -> [FAIL][24] ([fdo#104782])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-kbl1/igt@kms_color@pipe-c-degamma.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-kbl3/igt@kms_color@pipe-c-degamma.html
- shard-apl: [PASS][25] -> [FAIL][26] ([fdo#104782])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-apl1/igt@kms_color@pipe-c-degamma.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-apl2/igt@kms_color@pipe-c-degamma.html
* igt@kms_cursor_crc@pipe-a-cursor-256x256-offscreen:
- shard-iclb: [PASS][27] -> [INCOMPLETE][28] ([fdo#107713])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb8/igt@kms_cursor_crc@pipe-a-cursor-256x256-offscreen.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb8/igt@kms_cursor_crc@pipe-a-cursor-256x256-offscreen.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-hsw: [PASS][29] -> [SKIP][30] ([fdo#109271]) +34 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-hsw7/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-hsw1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-glk: [PASS][31] -> [FAIL][32] ([fdo#102887] / [fdo#105363])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-glk1/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@flip-vs-modeset-vs-hang:
- shard-apl: [PASS][33] -> [DMESG-WARN][34] ([fdo#110913 ]) +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-apl6/igt@kms_flip@flip-vs-modeset-vs-hang.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-apl1/igt@kms_flip@flip-vs-modeset-vs-hang.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt:
- shard-iclb: [PASS][35] -> [FAIL][36] ([fdo#103167]) +3 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-apl: [PASS][37] -> [DMESG-WARN][38] ([fdo#108566]) +1 similar issue
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-apl5/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-apl8/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
* igt@kms_psr@psr2_sprite_plane_onoff:
- shard-iclb: [PASS][39] -> [SKIP][40] ([fdo#109441])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb2/igt@kms_psr@psr2_sprite_plane_onoff.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb8/igt@kms_psr@psr2_sprite_plane_onoff.html
* igt@kms_rotation_crc@multiplane-rotation-cropping-top:
- shard-kbl: [PASS][41] -> [FAIL][42] ([fdo#109016])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-kbl4/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-kbl6/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html
* igt@kms_setmode@basic:
- shard-hsw: [PASS][43] -> [FAIL][44] ([fdo#99912])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-hsw7/igt@kms_setmode@basic.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-hsw7/igt@kms_setmode@basic.html
- shard-kbl: [PASS][45] -> [FAIL][46] ([fdo#99912])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-kbl4/igt@kms_setmode@basic.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-kbl6/igt@kms_setmode@basic.html
* igt@kms_sysfs_edid_timing:
- shard-hsw: [PASS][47] -> [FAIL][48] ([fdo#100047])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-hsw1/igt@kms_sysfs_edid_timing.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-hsw1/igt@kms_sysfs_edid_timing.html
* igt@kms_vblank@pipe-b-ts-continuation-suspend:
- shard-kbl: [PASS][49] -> [INCOMPLETE][50] ([fdo#103665])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-kbl2/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-kbl4/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
#### Possible fixes ####
* igt@gem_ctx_isolation@bcs0-s3:
- shard-kbl: [DMESG-WARN][51] ([fdo#108566]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-kbl1/igt@gem_ctx_isolation@bcs0-s3.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-kbl6/igt@gem_ctx_isolation@bcs0-s3.html
* igt@gem_eio@in-flight-immediate:
- shard-iclb: [DMESG-WARN][53] ([fdo#110913 ]) -> [PASS][54] +3 similar issues
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb5/igt@gem_eio@in-flight-immediate.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb2/igt@gem_eio@in-flight-immediate.html
* igt@gem_exec_balancer@smoke:
- shard-iclb: [SKIP][55] ([fdo#110854]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb6/igt@gem_exec_balancer@smoke.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb1/igt@gem_exec_balancer@smoke.html
* igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrashing:
- shard-glk: [DMESG-WARN][57] ([fdo#110913 ]) -> [PASS][58] +4 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-glk2/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrashing.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-glk2/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrashing.html
- shard-hsw: [DMESG-WARN][59] ([fdo#110789] / [fdo#110913 ]) -> [PASS][60] +1 similar issue
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-hsw5/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrashing.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-hsw7/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrashing.html
* igt@gem_persistent_relocs@forked-interruptible-thrashing:
- shard-apl: [DMESG-WARN][61] ([fdo#110913 ]) -> [PASS][62] +2 similar issues
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-apl7/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-apl7/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
* igt@gem_persistent_relocs@forked-thrashing:
- shard-snb: [DMESG-WARN][63] ([fdo#110789] / [fdo#110913 ]) -> [PASS][64]
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-snb7/igt@gem_persistent_relocs@forked-thrashing.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-snb7/igt@gem_persistent_relocs@forked-thrashing.html
* igt@gem_userptr_blits@map-fixed-invalidate-busy:
- shard-hsw: [DMESG-WARN][65] ([fdo#110913 ]) -> [PASS][66]
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-hsw4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-hsw1/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
* igt@gem_userptr_blits@sync-unmap-cycles:
- shard-kbl: [DMESG-WARN][67] ([fdo#110913 ]) -> [PASS][68] +3 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-kbl3/igt@gem_userptr_blits@sync-unmap-cycles.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-kbl6/igt@gem_userptr_blits@sync-unmap-cycles.html
* igt@kms_cursor_crc@pipe-c-cursor-128x128-sliding:
- shard-kbl: [FAIL][69] ([fdo#103232]) -> [PASS][70]
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-128x128-sliding.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-kbl6/igt@kms_cursor_crc@pipe-c-cursor-128x128-sliding.html
- shard-apl: [FAIL][71] ([fdo#103232]) -> [PASS][72]
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-apl2/igt@kms_cursor_crc@pipe-c-cursor-128x128-sliding.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-apl2/igt@kms_cursor_crc@pipe-c-cursor-128x128-sliding.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
- shard-hsw: [SKIP][73] ([fdo#109271]) -> [PASS][74] +11 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-hsw1/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-hsw5/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-apl: [DMESG-WARN][75] ([fdo#108566]) -> [PASS][76] +4 similar issues
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-apl2/igt@kms_frontbuffer_tracking@fbc-suspend.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-apl6/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
- shard-iclb: [FAIL][77] ([fdo#103167]) -> [PASS][78] +3 similar issues
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc:
- shard-iclb: [INCOMPLETE][79] ([fdo#106978] / [fdo#107713]) -> [PASS][80]
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_psr2_su@page_flip:
- shard-iclb: [SKIP][81] ([fdo#109642]) -> [PASS][82]
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb7/igt@kms_psr2_su@page_flip.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb2/igt@kms_psr2_su@page_flip.html
* igt@kms_psr@psr2_sprite_blt:
- shard-iclb: [SKIP][83] ([fdo#109441]) -> [PASS][84] +2 similar issues
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6264/shard-iclb4/igt@kms_psr@psr2_sprite_blt.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/shard-iclb2/igt@kms_psr@psr2_sprite_blt.html
[fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
[fdo#102887]: https://bugs.freedesktop.org/show_bug.cgi?id=102887
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
[fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840
[fdo#109016]: https://bugs.freedesktop.org/show_bug.cgi?id=109016
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110519]: https://bugs.freedesktop.org/show_bug.cgi?id=110519
[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_5055 -> IGTPW_3147
* Piglit: piglit_4509 -> None
CI_DRM_6264: 40a5ebf378e800ed3654997ab43267e1aea8ccd1 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3147: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3147/
IGT_5055: 495287320225e7f180d384cad7b207b77154438f @ 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_3147/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 1/4] meson: add libatomic dependency
2019-06-14 8:07 ` [igt-dev] " Ser, Simon
@ 2019-06-18 8:33 ` Guillaume Tucker
2019-06-18 13:11 ` Ser, Simon
0 siblings, 1 reply; 18+ messages in thread
From: Guillaume Tucker @ 2019-06-18 8:33 UTC (permalink / raw)
To: Ser, Simon, Hiler, Arkadiusz, Latvala, Petri
Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
On 14/06/2019 09:07, Ser, Simon wrote:
> On Thu, 2019-06-13 at 14:53 +0100, Guillaume Tucker wrote:
>> Add conditional dependency on 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 enables atomic operations to be on a wider number of
>> architectures including MIPS.
>>
>> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
>> ---
>> meson.build | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/meson.build b/meson.build
>> index 6268c58d3634..da25a28f3268 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -179,6 +179,19 @@ math = cc.find_library('m')
>> 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);
>
> Minor: maybe we could've used stdatomic.h's atomic_* functions (without
> the "__" prefix) for consistency with the actual IGT code?
I actually thought it was more correct to use the __atomic_*
functions directly from the libatomic library as this is a linker
test. If for any reason stdatomic.h changes between versions or
compilers and uses something else than libatomic, then this test
would become invalid.
>> + return 0;
>> +}''', name : 'built-in atomics')
>> + libatomic = []
>
> We could use null_dep instead, to make it consistent with the other
> branch.
Ack, will fix that in v3.
>> +else
>> + libatomic = cc.find_library('atomic')
>> +endif
>>
>> if cc.has_header('linux/kd.h')
>> config.set('HAVE_LINUX_KD_H', 1)
Thanks,
Guillaume
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images
2019-06-14 12:53 ` [Intel-gfx] " Ser, Simon
@ 2019-06-18 8:42 ` Guillaume Tucker
0 siblings, 0 replies; 18+ messages in thread
From: Guillaume Tucker @ 2019-06-18 8:42 UTC (permalink / raw)
To: Ser, Simon, Latvala, Petri
Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
On 14/06/2019 13:53, Ser, Simon wrote:
> On Fri, 2019-06-14 at 15:43 +0300, Petri Latvala wrote:
>> On Fri, Jun 14, 2019 at 02:24:53PM +0300, Ser, Simon wrote:
>>> On Fri, 2019-06-14 at 13:00 +0300, Petri Latvala wrote:
>>>> On Thu, Jun 13, 2019 at 02:53:20PM +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 even though it's already installed as a dependency.
>>>>>
>>>>> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
>>>>> ---
>>>>> Dockerfile.debian | 1 +
>>>>> Dockerfile.debian-arm64 | 1 +
>>>>> Dockerfile.debian-armhf | 1 +
>>>>> Dockerfile.fedora | 2 +-
>>>>> 4 files changed, 4 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/Dockerfile.debian b/Dockerfile.debian
>>>>> index b9c3be3945e0..d23591850c4e 100644
>>>>> --- a/Dockerfile.debian
>>>>> +++ b/Dockerfile.debian
>>>>> @@ -6,6 +6,7 @@ RUN apt-get install -y \
>>>>> flex \
>>>>> bison \
>>>>> pkg-config \
>>>>> + libatomic1 \
>>>>> libpciaccess-dev \
>>>>> libkmod-dev \
>>>>> libprocps-dev \
>>>>> diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
>>>>> index 7b3a3c7ca803..003bb22b3215 100644
>>>>> --- a/Dockerfile.debian-arm64
>>>>> +++ b/Dockerfile.debian-arm64
>>>>> @@ -5,6 +5,7 @@ RUN apt-get install -y \
>>>>> flex \
>>>>> bison \
>>>>> pkg-config \
>>>>> + libatomic1 \
>>>>> x11proto-dri2-dev \
>>>>> python-docutils \
>>>>> valgrind \
>>>>> diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
>>>>> index c67a1e2acf6a..3139927c193a 100644
>>>>> --- a/Dockerfile.debian-armhf
>>>>> +++ b/Dockerfile.debian-armhf
>>>>> @@ -5,6 +5,7 @@ RUN apt-get install -y \
>>>>> flex \
>>>>> bison \
>>>>> pkg-config \
>>>>> + libatomic1 \
>>>>
>>>> libatomic1 is the runtime lib, for linking you need the package that
>>>> contains libatomic.so. That is *quick search*
>>>> libgcc-$version-dev. There doesn't seem to be a generic metapackage
>>>> for "the latest libgcc-dev", other than... 'gcc'.
>>>>
>>>> Since Debian is acting a bit speshul here I'd just drop the explicit
>>>> libatomic installation.
>>>
>>> Hmm, I see the .so in libatomic1…
>>>
>>> https://packages.debian.org/jessie/amd64/libatomic1/filelist
>>
>> Where? I only see the .so.1 and .so.1.1.0
>
> Bleh, indeed
So, I've dropped the libatomic1 as it's indeed not required
*except* that it is for non-x86 architectures at run-time with
multi-arch file systems. I found that when adding ci tests for
mips, as of course it then needs it when running gem_create. I'm
sending a v3 with this.
Thanks,
Guillaume
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 1/4] meson: add libatomic dependency
2019-06-18 8:33 ` Guillaume Tucker
@ 2019-06-18 13:11 ` Ser, Simon
0 siblings, 0 replies; 18+ messages in thread
From: Ser, Simon @ 2019-06-18 13:11 UTC (permalink / raw)
To: guillaume.tucker@collabora.com, Hiler, Arkadiusz, Latvala, Petri
Cc: igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
On Tue, 2019-06-18 at 09:33 +0100, Guillaume Tucker wrote:
> On 14/06/2019 09:07, Ser, Simon wrote:
> > On Thu, 2019-06-13 at 14:53 +0100, Guillaume Tucker wrote:
> > > Add conditional dependency on 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 enables atomic operations to be on a wider number of
> > > architectures including MIPS.
> > >
> > > Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> > > ---
> > > meson.build | 13 +++++++++++++
> > > 1 file changed, 13 insertions(+)
> > >
> > > diff --git a/meson.build b/meson.build
> > > index 6268c58d3634..da25a28f3268 100644
> > > --- a/meson.build
> > > +++ b/meson.build
> > > @@ -179,6 +179,19 @@ math = cc.find_library('m')
> > > 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);
> >
> > Minor: maybe we could've used stdatomic.h's atomic_* functions (without
> > the "__" prefix) for consistency with the actual IGT code?
>
> I actually thought it was more correct to use the __atomic_*
> functions directly from the libatomic library as this is a linker
> test. If for any reason stdatomic.h changes between versions or
> compilers and uses something else than libatomic, then this test
> would become invalid.
I don't know whether __atomic_* functions are standard builtins or if
they are just an implementation detail.
If they are standard builtins, it makes more sense to check for them as
this patch does.
If they aren't, we instead should try to link a program using
stdatomic.h's atomic_* functions, and if it doesn't work assume
libatomic.so is required.
> > > + return 0;
> > > +}''', name : 'built-in atomics')
> > > + libatomic = []
> >
> > We could use null_dep instead, to make it consistent with the other
> > branch.
>
> Ack, will fix that in v3.
>
> > > +else
> > > + libatomic = cc.find_library('atomic')
> > > +endif
> > >
> > > if cc.has_header('linux/kd.h')
> > > config.set('HAVE_LINUX_KD_H', 1)
>
> Thanks,
> Guillaume
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2019-06-18 13:11 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-13 13:53 [igt-dev] [PATCH i-g-t v2 0/4] Use C11 atomics Guillaume Tucker
2019-06-13 13:53 ` [Intel-gfx] [PATCH i-g-t v2 1/4] meson: add libatomic dependency Guillaume Tucker
2019-06-14 8:07 ` [igt-dev] " Ser, Simon
2019-06-18 8:33 ` Guillaume Tucker
2019-06-18 13:11 ` Ser, Simon
2019-06-13 13:53 ` [igt-dev] [PATCH i-g-t v2 2/4] gitlab-ci: add libatomic to docker images Guillaume Tucker
2019-06-14 8:08 ` Ser, Simon
2019-06-14 10:00 ` Petri Latvala
2019-06-14 11:24 ` Ser, Simon
2019-06-14 12:43 ` Petri Latvala
2019-06-14 12:53 ` [Intel-gfx] " Ser, Simon
2019-06-18 8:42 ` Guillaume Tucker
2019-06-13 13:53 ` [igt-dev] [PATCH i-g-t v2 3/4] i915/gem_create: use atomic_* instead of __sync_* Guillaume Tucker
2019-06-14 8:11 ` Ser, Simon
2019-06-13 13:53 ` [Intel-gfx] [PATCH i-g-t v2 4/4] tests/sw_sync: " Guillaume Tucker
2019-06-14 8:12 ` [igt-dev] " Ser, Simon
2019-06-13 16:33 ` [igt-dev] ✓ Fi.CI.BAT: success for Use C11 atomics Patchwork
2019-06-15 5:16 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox