* libmlx5 doesn't build on s390x
@ 2017-03-23 12:51 Jarod Wilson
[not found] ` <afe64964-4f10-0a00-0891-b97bf2c60b50-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Jarod Wilson @ 2017-03-23 12:51 UTC (permalink / raw)
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Not sure if it's intentional, but in my adventure of the past day or two
to get rdma-core v13 building across all the arches I need to build it
for, I discovered that the mlx5 bits silently don't build on s390x. No
build failure, they just aren't attempted, so far as I can see. The only
sign of failure was when rpm %files globs failed to locate mlx5 bits.
I noted that mlx4 has some s390x-specific trickery in
providers/mlx4/mmio.h, and wondered if something similar was required
for mlx5, or if "does not work on s390x and isn't expected to" is the
norm. Currently, my builds are excluding mlx5 support on s390x due to
the current state.
--
Jarod Wilson
jarod-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread[parent not found: <afe64964-4f10-0a00-0891-b97bf2c60b50-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* Re: libmlx5 doesn't build on s390x [not found] ` <afe64964-4f10-0a00-0891-b97bf2c60b50-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2017-03-23 16:06 ` Yishai Hadas [not found] ` <36a02b19-5b50-10f6-f3da-13d4a67f50c2-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> 2017-03-23 16:10 ` Jason Gunthorpe 1 sibling, 1 reply; 9+ messages in thread From: Yishai Hadas @ 2017-03-23 16:06 UTC (permalink / raw) To: Jarod Wilson Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Alexey Ishchuk, yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org On 3/23/2017 2:51 PM, Jarod Wilson wrote: > Not sure if it's intentional, but in my adventure of the past day or two > to get rdma-core v13 building across all the arches I need to build it > for, I discovered that the mlx5 bits silently don't build on s390x. No > build failure, they just aren't attempted, so far as I can see. The only > sign of failure was when rpm %files globs failed to locate mlx5 bits. How about mlx4, was it built successfully ? we expect the same behavior from build point of view as both and others providers depend on HAVE_COHERENT_DMA from CMakeLists.txt Any option that you saw below message in the log ? "Architecture NOT able to do coherent DMA (check libibverbs/arch.h) some providers disabled!")" > I noted that mlx4 has some s390x-specific trickery in > providers/mlx4/mmio.h, and wondered if something similar was required > for mlx5, or if "does not work on s390x and isn't expected to" is the > norm. Currently, my builds are excluding mlx5 support on s390x due to > the current state. The patch of mlx4 for s390x in mlx4/mmio.h came from IBM people few years ago, I believe that similar one is needed for mlx5 otherwise it won't be able to write to PCI memory, so excluding mlx5 for s390 makes sense. However, mlx4 should be in, is it really the case when you build the s390 package ? Adding Alexey who sent the patch for mlx4 to get his input as well. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <36a02b19-5b50-10f6-f3da-13d4a67f50c2-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>]
* Re: libmlx5 doesn't build on s390x [not found] ` <36a02b19-5b50-10f6-f3da-13d4a67f50c2-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> @ 2017-03-23 16:50 ` Jarod Wilson [not found] ` <22f0dfe4-bf35-02cf-df73-ef7b59295015-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Jarod Wilson @ 2017-03-23 16:50 UTC (permalink / raw) To: Yishai Hadas Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Alexey Ishchuk, yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org On 2017-03-23 12:06 PM, Yishai Hadas wrote: > On 3/23/2017 2:51 PM, Jarod Wilson wrote: >> Not sure if it's intentional, but in my adventure of the past day or two >> to get rdma-core v13 building across all the arches I need to build it >> for, I discovered that the mlx5 bits silently don't build on s390x. No >> build failure, they just aren't attempted, so far as I can see. The only >> sign of failure was when rpm %files globs failed to locate mlx5 bits. > > How about mlx4, was it built successfully ? we expect the same behavior > from build point of view as both and others providers depend on > HAVE_COHERENT_DMA from CMakeLists.txt > > Any option that you saw below message in the log ? > "Architecture NOT able to do coherent DMA (check libibverbs/arch.h) some > providers disabled!")" Yep, it's there, lost it in all the verbosity. Okay, that explains that. >> I noted that mlx4 has some s390x-specific trickery in >> providers/mlx4/mmio.h, and wondered if something similar was required >> for mlx5, or if "does not work on s390x and isn't expected to" is the >> norm. Currently, my builds are excluding mlx5 support on s390x due to >> the current state. > > The patch of mlx4 for s390x in mlx4/mmio.h came from IBM people few > years ago, I believe that similar one is needed for mlx5 otherwise it > won't be able to write to PCI memory, so excluding mlx5 for s390 makes > sense. However, mlx4 should be in, is it really the case when you build > the s390 package ? Apparently not: $ rpm -qpl libibverbs-13-1.el7.s390x.rpm /etc/libibverbs.d /etc/libibverbs.d/hfi1verbs.driver /etc/libibverbs.d/ipathverbs.driver /etc/libibverbs.d/rxe.driver /usr/bin/rxe_cfg /usr/lib64/libibverbs /usr/lib64/libibverbs.so.1 /usr/lib64/libibverbs.so.1.1.13 /usr/lib64/libibverbs/libhfi1verbs-rdmav2.so /usr/lib64/libibverbs/libipathverbs-rdmav2.so /usr/lib64/libibverbs/librxe-rdmav2.so /usr/share/doc/rdma-core-13/libibverbs.md /usr/share/doc/rdma-core-13/rxe.md /usr/share/man/man7/rxe.7.gz /usr/share/man/man8/rxe_cfg.8.gz Looks like only rxe, ipathverbs and hfi1verbs got built. Didn't realize that many others (including mlx4) weren't getting built until now. Oops. -- Jarod Wilson jarod-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <22f0dfe4-bf35-02cf-df73-ef7b59295015-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* Re: libmlx5 doesn't build on s390x [not found] ` <22f0dfe4-bf35-02cf-df73-ef7b59295015-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2017-03-23 16:58 ` Jason Gunthorpe [not found] ` <20170323165800.GC29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Jason Gunthorpe @ 2017-03-23 16:58 UTC (permalink / raw) To: Jarod Wilson Cc: Yishai Hadas, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Alexey Ishchuk, yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org On Thu, Mar 23, 2017 at 12:50:14PM -0400, Jarod Wilson wrote: > >Any option that you saw below message in the log ? > >"Architecture NOT able to do coherent DMA (check libibverbs/arch.h) some > >providers disabled!")" > > Yep, it's there, lost it in all the verbosity. Okay, that explains that. FWIW, that section after 'Missing Optional Items:' reflects everything 'wrong' with the build environment. An ideal build will list nothing, eg on FC25. Everything else means something is broken and cmake is working around the breakage somehow. It is worth reviewing if the thing is really broken or not... Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <20170323165800.GC29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>]
* Re: libmlx5 doesn't build on s390x [not found] ` <20170323165800.GC29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> @ 2017-03-23 18:12 ` Jarod Wilson 0 siblings, 0 replies; 9+ messages in thread From: Jarod Wilson @ 2017-03-23 18:12 UTC (permalink / raw) To: Jason Gunthorpe Cc: Yishai Hadas, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Alexey Ishchuk, yishaih-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org On 2017-03-23 12:58 PM, Jason Gunthorpe wrote: > On Thu, Mar 23, 2017 at 12:50:14PM -0400, Jarod Wilson wrote: > >>> Any option that you saw below message in the log ? >>> "Architecture NOT able to do coherent DMA (check libibverbs/arch.h) some >>> providers disabled!")" >> >> Yep, it's there, lost it in all the verbosity. Okay, that explains that. > > FWIW, that section after 'Missing Optional Items:' reflects everything > 'wrong' with the build environment. An ideal build will list nothing, > eg on FC25. > > Everything else means something is broken and cmake is working around > the breakage somehow. It is worth reviewing if the thing is really > broken or not... From the s390x build log: -- Missing Optional Items: -- Architecture NOT able to do coherent DMA (check libibverbs/arch.h) some providers disabled! -- C11 stdatomic.h NOT available (old compiler) -- rdma/vmw_pvrdma-abi.h NOT found (old system kernel headers) -- -Wmissing-field-initializers does NOT work The old compiler part isn't going to change, and we don't have the vmware pvrdma driver backported at this time. -- Jarod Wilson jarod-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: libmlx5 doesn't build on s390x [not found] ` <afe64964-4f10-0a00-0891-b97bf2c60b50-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2017-03-23 16:06 ` Yishai Hadas @ 2017-03-23 16:10 ` Jason Gunthorpe [not found] ` <20170323161017.GB29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> 1 sibling, 1 reply; 9+ messages in thread From: Jason Gunthorpe @ 2017-03-23 16:10 UTC (permalink / raw) To: Jarod Wilson; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA On Thu, Mar 23, 2017 at 08:51:21AM -0400, Jarod Wilson wrote: > Not sure if it's intentional, but in my adventure of the past day or two to > get rdma-core v13 building across all the arches I need to build it for, I > discovered that the mlx5 bits silently don't build on s390x. No build > failure, they just aren't attempted, so far as I can see. The only sign of > failure was when rpm %files globs failed to locate mlx5 bits. I don't expect anything except mlx4 to *work* on s390 - fixing that would require making a common IOMEM accessor system. However, AFAIK, they should build.. > I noted that mlx4 has some s390x-specific trickery in providers/mlx4/mmio.h, > and wondered if something similar was required for mlx5, or if "does not > work on s390x and isn't expected to" is the norm. Currently, my builds are > excluding mlx5 support on s390x due to the current state. It would be nice if you could post logs for these various failures.. My guess is that none of the DMA providers were compiled for S390, which happens if the system cannot compile util/udma_barrier.h. Perhaps this test is wrong? #elif defined(__sparc__) || defined(__s390x__) Maybe it should be #elif defined(__sparc__) || defined(__s390x__) || defined(__s390__) ?? Also, you should expect mlx5 not to be built on ARM32 and in other places where we do not support user DMA. Can you accommodate this in the rpm spec file? Debian has the same issue too... You can simulate this on x86-64 by patching util/udma_barrier.h to always fail to compile. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <20170323161017.GB29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>]
* Re: libmlx5 doesn't build on s390x [not found] ` <20170323161017.GB29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> @ 2017-03-23 16:57 ` Jarod Wilson [not found] ` <100aafc9-21a6-8aed-47c3-220f0feb82b1-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Jarod Wilson @ 2017-03-23 16:57 UTC (permalink / raw) To: Jason Gunthorpe; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA On 2017-03-23 12:10 PM, Jason Gunthorpe wrote: > On Thu, Mar 23, 2017 at 08:51:21AM -0400, Jarod Wilson wrote: >> Not sure if it's intentional, but in my adventure of the past day or two to >> get rdma-core v13 building across all the arches I need to build it for, I >> discovered that the mlx5 bits silently don't build on s390x. No build >> failure, they just aren't attempted, so far as I can see. The only sign of >> failure was when rpm %files globs failed to locate mlx5 bits. > > I don't expect anything except mlx4 to *work* on s390 - fixing that > would require making a common IOMEM accessor system. > > However, AFAIK, they should build.. See reply to Yishai. Not much is actually building on s390x. (Note: I'm not building for s390 sans-x at all). >> I noted that mlx4 has some s390x-specific trickery in providers/mlx4/mmio.h, >> and wondered if something similar was required for mlx5, or if "does not >> work on s390x and isn't expected to" is the norm. Currently, my builds are >> excluding mlx5 support on s390x due to the current state. > > It would be nice if you could post logs for these various > failures.. Yeah, I can do that. > My guess is that none of the DMA providers were compiled for S390, > which happens if the system cannot compile util/udma_barrier.h. > > Perhaps this test is wrong? > > #elif defined(__sparc__) || defined(__s390x__) > > Maybe it should be > > #elif defined(__sparc__) || defined(__s390x__) || defined(__s390__) > > ?? Not sure. From rpm's perspective, I'm trying arch s390x, but maybe gcc is actually calling it s390. > Also, you should expect mlx5 not to be built on ARM32 and in other > places where we do not support user DMA. Can you accommodate this in > the rpm spec file? Debian has the same issue too... You can simulate > this on x86-64 by patching util/udma_barrier.h to always fail to > compile. We don't target arm32 at all, only arm64 (aarch64 in rpm parlance). I believe an 'ExcludeArch: %{arm} s390' is currently in my local spec. (I have a few tweaks to push up here still). -- Jarod Wilson jarod-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <100aafc9-21a6-8aed-47c3-220f0feb82b1-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* Re: libmlx5 doesn't build on s390x [not found] ` <100aafc9-21a6-8aed-47c3-220f0feb82b1-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2017-03-23 17:02 ` Jason Gunthorpe [not found] ` <20170323170228.GG29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Jason Gunthorpe @ 2017-03-23 17:02 UTC (permalink / raw) To: Jarod Wilson; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA On Thu, Mar 23, 2017 at 12:57:37PM -0400, Jarod Wilson wrote: > Not sure. From rpm's perspective, I'm trying arch s390x, but maybe gcc is > actually calling it s390. The output from build/CMakeFiles/CMakeError.log might help As well as this output: $ gcc -dM -E - < /dev/null Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <20170323170228.GG29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>]
* Re: libmlx5 doesn't build on s390x [not found] ` <20170323170228.GG29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> @ 2017-03-23 18:08 ` Jarod Wilson 0 siblings, 0 replies; 9+ messages in thread From: Jarod Wilson @ 2017-03-23 18:08 UTC (permalink / raw) To: Jason Gunthorpe; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA On 2017-03-23 1:02 PM, Jason Gunthorpe wrote: > On Thu, Mar 23, 2017 at 12:57:37PM -0400, Jarod Wilson wrote: >> Not sure. From rpm's perspective, I'm trying arch s390x, but maybe gcc is >> actually calling it s390. > > The output from build/CMakeFiles/CMakeError.log might help > > As well as this output: > > $ gcc -dM -E - < /dev/null Unfortunately, this is sort of a black box situation for me at the moment. I'm submitting the builds to our build system, which hands the build job off to all relevant architectures. I can probably get a reservation on an s390x system and poke manually though. -- Jarod Wilson jarod-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2017-03-23 18:12 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-23 12:51 libmlx5 doesn't build on s390x Jarod Wilson
[not found] ` <afe64964-4f10-0a00-0891-b97bf2c60b50-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-03-23 16:06 ` Yishai Hadas
[not found] ` <36a02b19-5b50-10f6-f3da-13d4a67f50c2-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2017-03-23 16:50 ` Jarod Wilson
[not found] ` <22f0dfe4-bf35-02cf-df73-ef7b59295015-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-03-23 16:58 ` Jason Gunthorpe
[not found] ` <20170323165800.GC29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-03-23 18:12 ` Jarod Wilson
2017-03-23 16:10 ` Jason Gunthorpe
[not found] ` <20170323161017.GB29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-03-23 16:57 ` Jarod Wilson
[not found] ` <100aafc9-21a6-8aed-47c3-220f0feb82b1-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-03-23 17:02 ` Jason Gunthorpe
[not found] ` <20170323170228.GG29811-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-03-23 18:08 ` Jarod Wilson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox