[openib-general] 32-bit build for ppc64 is required
Michael S. Tsirkin
mst at mellanox.co.il
Wed Feb 14 21:57:51 PST 2007
> Quoting Doug Ledford <dledford at redhat.com>:
> Subject: Re: [openib-general] 32-bit build for ppc64 is required
>
> On Wed, 2007-02-14 at 16:29 +0200, Michael S. Tsirkin wrote:
> > > Quoting Stefan Roscher <ossrosch at linux.vnet.ibm.com>:
> > > Subject: Re: 32-bit build for ppc64 is required
> > >
> > > On Wednesday 14 February 2007 14:29, Michael S. Tsirkin wrote:
> > > > > Quoting Stefan Roscher <ossrosch at linux.vnet.ibm.com>:
> > > > > Subject: 32-bit build for ppc64 is required
> > > > >
> > > > > Hi,
> > > > >
> > > > > after building the latest ofed build package we recognized that on PPC64 only
> > > > > 64-bit libaries were build.
> > > > > Because we have customers using older userpace apllications which are
> > > > > certified for 32-bit we think additional 32bit support is a requirement for 64bit builds.
> > > > >
> > > > > If OFED 1.2 supports 32 bit on ppc64, we have to change the install
> > > > > directory.I would suggest to install 32-bit binaries into
> > > > > /usr/local/ofed/bin32 directory. So no changes on current naming conventions
> > > > > has to be done.The libaries are installed in the /usr/local/ofed/lib directory.
> > > >
> > > > The standard practice is to install 64 bit libraries under prefix/lib64
> > > > and 32 bit libraries under prefix/lib. Why would PPC64 be any different?
> > >
> > > I think you missunderstand my post. The directory for 32/64bit libaries
> > > shouldbe prefix/lib and prefix/lib64 respectively.
> > > But current ofed1.2 I saw only prefix/lib64 directory, ie 64bit libs only.
> >
> > Well, this is not by design: AFAIK on x86_64 both types of libraries
> > are installed.
> >
> > > > I do not think we need 32 bit binaries at all, and there's no other package
> > > > I'm aware of that uses "bin32".
> > >
> > > We have customers that still use 32-bit userspace applications.
> > > It would be beneficial for them if they can obtain 32bit libs and execs from
> > > ofed1.2 in order to run their applications without recompiling them, because
> > > for some 32-bit applications recompiling is not an option.
> >
> > 32 bit libraries are needed for users to run 32 applications.
> >
> > But I still do not see how installing 32 bit binaries alongside the 64
> > bit ones is useful, and I do not think other packages provide this option,
> > so maybe we shouldn't, either.
>
> The choice of 32/64 bit default is done on a per arch basis. With
> x86_64/i386, the increased number of CPU registers in 64bit mode
> outweighs the increased code bloat that goes along with 64bit mode. On
> PPC, no such register benefit exists for 64bit mode. As such, 32bit
> apps on PPC are faster than the equivalent 64bit apps up to the point at
> which a 4GB address space becomes a problem. Correspondingly, the
> default binaries on PPC are 32bit, and only those that *need* to be
> 64bit are. While a customer's application may need >4GB address space,
> certainly all the ibutils, diags, opensm, etc. do not. As a result, we
> compile all of those utilities as 32bit by default on PPC. We also ship
> all the libs as both 32/64bit so users can select the appropriate
> environment for their particular application (with the exception of
> dapl, which doesn't support 32bit and for which I filed a bug around the
> time of OFED 1.1).
So, what you suggest is - build 2 types of libraries, but on PPC make
binaries 32 bit? That's easy - do others agree to this approach?
Another option is to build binaries with whatever type of binary
gcc without extra flags generates by default.
--
MST
More information about the general
mailing list