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

Re: developer release 3.1.2



Adam C Powell IV wrote:

> Why not just include multiple optimized binaries for different arches in separate
> dirs, e.g. /usr/lib/atlas-athlon etc., then use a postinst script to scan
> /proc/cpuinfo, move the appropriate libs into /usr/lib, and remove the dirs? 

This would cause problems in mixed-architecture clusters. Currently you
can use the same /usr for a PIII and an Athlon, or for a G3 and G4
PowerPC. I wouldn't like to break that property, because it's very
useful for machines mounting /usr from a network or cluster filesystem.

I'd much rather have a solution which was decided at boot time or
dynamically. For instance, an init script which dynamically changed
links in /etc/alternatives. But I do use the current ability to mount
/etc read-only, so perhaps we could have a new /var/alternatives
directory for alternatives selected at boot time?

> Does anyone know how Microsoft/Adobe/etc. ships software optimized for the latest
> chips, which doesn't break on old ones?  E.g. the Altivec instructions in
> Photoshop which only are exercized on G4s...

If you're shipping an application, rather than a library, it's trivial
to decide at runtime which version to load. You can put all the CPU
dependent parts into shared libraries, and load the correct one when you
need to.

This all breaks on a MOSIX cluster with mixed architecture. I guess
they're just too weird to live.

- Adrian Cox, AG Electronics



Reply to: