Re: multi-CPU optimization inside a distribution

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

 



On Thu, Jun 30, 2016 at 12:12:37PM +0200, Dan Horák wrote:
> For ppc64 (the big endian POWER) the base is set by the toolchain
> default which is Power4/ppc970. When Power7 came we were asked what are
> the options to take the advantage of these CPUs, 3 generations newer
> than the base. The solution was the introduction of ppc64p7 subarch into
> the packaging and release engineering tools. But it showed more as a
> hack than a solution, touching rpm, yum, koji, .... The list of packages
> is manually maintained, requires manual updates to the buildsystem for
> new releases, seems new packaging tools (dnf) don't understand it
> correctly. Is there a way to make the subarch mechanism generic and
> integrated with the other tools? So we could have ppc64p8 and ppc64p9
> inside Fedora for POWER ...

I will just snipe here that the situation would be better if POWER > 4
hardware was generally available to buy.

> Now I'm getting to an area where others are the experts :-) Glibc
> allows to build and install multiple per-cpu optimized runtimes that
> are selected based on the CPU. There is the IFUNC mechanism and
> function multi-versioning in GCC (user-friendly IFUNC) [2] to allow
> multiple implementations inside one library/binary.

Be careful with using IFUNC.  It's a very desirable feature,
implemented in a somewhat ill-defined way:

https://bugzilla.redhat.com/show_bug.cgi?id=1312462#c22
https://bugzilla.redhat.com/show_bug.cgi?id=1312462#c27
  etc.

Have you looked at what Debian does with the /lib/<arch> directories?
I think we should follow Debian if appropriate.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux