Re: Performance difference 32bit/64bit userland
On 02/08/2017 12:08 PM, Mathieu Malaterre wrote:
> On Wed, Feb 8, 2017 at 2:21 PM, Breno Leitao <firstname.lastname@example.org> wrote:
>> On 02/07/2017 07:22 PM, Lennart Sorensen wrote:
>>> ppc64el is different since it is targeting systems where the applications
>>> are expected to need a lot of ram, and switching the little endian
>>> improves performance when working with GPUs (which are all designed
>>> for the x86 little endian world). At the same time being able to
>>> assume power8 as a minimum cpu means you can gain some instruction set
>>> improvements that normal powerpc can't assume.
>> Correct. And we can't do 32-bits userspace also, since we do not have a
>> 32-bits little endian ABI. For ppc64el, bi-arch does not seem to be a valid
> I always assumed it was possible to run ppc32 (be) or ppc64 (be)
> userlands on a ppc64el system. Is this a restriction at Linux level or
> hardware level ?
I think it is not easy to run cross-endianess userspace applications in Linux.
I think mainly about kernel interfaces, where the kernel will continue to run
in LE, and you have a Big Endian userspace. What would happen if you be
interrupted? You would need to have a 'fix-endianess' layer to have it done IMO.
>From a hardware perspective, the bit endianess is basically a register bit in
POWER, so, from a hardware perspective it is very simple to change endianess.
In fact, we used this artifact in the beginning of the bootstrap, mainly to
avoid 'porting' the endianess-wise code.