5 ms·
So they're saying it's easier to use a brand new incompatible little endian Linux personality, with associated new toolchains and new ports of low level stuff e
by zurn 13y ago
So they're saying it's easier to use a brand new incompatible little endian Linux personality, with associated new toolchains and new ports of low level stuff etc compared to the standard Linux PPC64 stuff...
Sounds kind of surprising even if IBM did some of the bringup work ahead of time, but maybe they've got little endian assumptions baked in many internal protocols/apps.
- rbanffy 13y agoLinux has supported POWER for ages. Is endianness such a big issue? Why?
- sparkie 13y agoEndianness is an issue because programmers ignore it - they think "undefined behavior" is a synonym for "not yet standardized", and the mentality of "works on my machine" typically trumps concerns of portability. This isn't a concern for low level developers, such as the kernel developers - they understand the concerns and take care to implement code in portable ways. The issue is with user-space developers who think C and C++ are a good choice of language, and they have no qualms using bitfields, unguarded compiler pragmas, violating strict aliasing rule, and failing to specify the endianness their protocols use in the protocol itself (BoMs are not universally used) - also there is often a failure to provide the endianness conversions in implementations of such protocols where necessary. Not to mention a complete lack of standard way to test the endianness of the current machine, which typically requires violating the strict aliasing rule to check.
- rbanffy 13y agoI believe it's safe to assume having more endian-diversity is then a good thing. Bugs in software and protocols will be exposed and eventually corrected. Since most Linux distros fully support a very diverse set of machines, endianness is usually not a problem with most of the software that's already part of a Linux distro. As for software developed inside Google, they hire smart people. They'll manage.
- karavelov 13y agoI think the main reason for LE runmode is to be able to easily interface Nvidia GPUs that are also LE (without conversion)
- hapless 13y agoLinux has supported little-endian POWER for several years. It makes porting userspace software tremendously easier since that the major architectures in use with Linux (x86_64, ARM, MIPS) are frequently LE. The big news here is official support for KVM on POWER. Use all your existing automation, Openstack, etc, unchanged.
- zurn 13y agoKVM support indeed sounds nice, though they advertised it already before for POWER7/PPC970 hardware... Re endianness, Linux is comfortably bi-endian and so is approximately all portable Linux software. Certainly there isn't any "tremendous" difficulty, which is why I was expressing surprise at ditching the standard big-endian ppc64 userspace. When people first started floating around the little endian PPC patches in 2010 it seems the motivation was some GPU hardware (http://lwn.net/Articles/408848/ http://lwn.net/Articles/408848/) but that doesn't really make sense in this case.
- hapless 13y agonotably the goal with the GPU hardware was to avoid doing endianess conversions in userspace code that talked to GPU drivers. userspace, the root of all evil