* [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
* 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 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 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
* [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
* 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 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
* 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
* [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
* 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
* [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
* 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
* [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
* [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
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