Re: [PATCH rdma-core] redhat/spec: can't build ibumad on 32-bit arm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2017-01-10 at 11:30 -0500, Hal Rosenstock wrote:
> On 1/9/2017 5:31 PM, Jason Gunthorpe wrote:
> > 
> > On Mon, Jan 09, 2017 at 04:39:44PM -0500, Jarod Wilson wrote:
> > > 
> > > Building for 32-bit arm, things fall down, due to lack of arch-
> > > specific
> > > memory barriers.
> > 
> > Since we now have rxe that should work on ARM I think we need to
> > fix
> > this upstream..
> > 
> > Do you have time to test some patches on ARM?
> 
> Looks to me that issue was introduced by:
> 
> commit 1df0888f6a736e1612ce8b054d6c17651ebd003f
> Author: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>
> Date:   Fri Sep 2 12:57:57 2016 -0600
> 
>     Remove most checks of __BYTE_ORDER
> 
>     For a long time now endian.h has defined sane fixed with
> conversion
>     macros, so lets just use them instead of rolling our own.
> 
>     Also, htonll is defined in this source tree under
> infiniband/arch.h,
>     so all users of that macro can just use the header.
> 
>     Someday we should also get rid of all the endless wrappers..
> 
>     Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>
> 
> where byte order macros are from libibverbs arch.h which also
> includes
> the memory barrier stuff.
> 
> So can't arch.h be separated out into 2 headers and have the various
> parts of rdma-core include one or both of these headers as needed ?

No, that won't help.  At most it would shift where the compile breaks.
 When Steve Wise did the patch to add the arm64 memory barriers, we
discussed on list the fact that not having a proper memory barrier
define for an arch should be a fatal error, so we also made it such
that without an arch specific memory barrier define, we fail the build.
 If you split the headers, then somewhere you are going to come to a
file that needs the memory barriers defined in the headers, and when
you include the header, the compile error returns.  The proper fix is
just to get 32bit arm defines in place.

-- 
Doug Ledford <dledford@xxxxxxxxxx>
    GPG KeyID: B826A3330E572FDD
   
Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux