LWN: Comments on "The 2012 Kernel Summit" https://lwn.net/Articles/513789/ This is a special feed containing comments posted to the individual LWN article titled "The 2012 Kernel Summit". en-us Thu, 16 Jan 2025 19:44:56 +0000 Thu, 16 Jan 2025 19:44:56 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net The 2012 Kernel Summit https://lwn.net/Articles/515612/ https://lwn.net/Articles/515612/ Jonno <div class="FormattedComment"> The biggest difference between armhf and armel is that what an armhf compiler would have compiled into a single floating point instruction, an armel compiler will instead make into a function call.<br> <p> On a floating point capable system that function will only be three instructions long (copy the arguments from integer registers to floating point registers, the actual floating point instruction, copy the result from a floating point register to an integer register), while on other systems the function will contain a complex emulation instead.<br> <p> Thus, even armel will make use of the floating point capabilities of a processor that has one, but it will do so in an inefficient manner (for every instruction, add a function call and two register copies).<br> <p> If a single user function contains many floating point operations, it is possible to minimize this cost by compiling two versions of it for armel, one that internally uses floating point instructions directly, and one that internally uses the standard emulation functions. That way you only have to pay the extra cost when crossing user-function-borders, rather than for every instruction. This can either be done on a function-by-function basis by the application developer, or on a library-by-library basis by the distributor (which is what Ben refers to). Adding such an alternative library for every fp-using library in Debian would have netted almost as large a benefit as that of Raspbian, without the need of forking the entire distribution, but I wouldn't want the job of trying to convince ~100 package maintainers and the release team that it was a worthwhile feature to add to wheezy in the middle of the pre-release freeze...<br> <p> </div> Tue, 11 Sep 2012 08:21:18 +0000 The 2012 Kernel Summit https://lwn.net/Articles/515607/ https://lwn.net/Articles/515607/ BenHutchings <blockquote>Isn't that what softfloat vs hardflat is? softfloat is software floating point (i.e. no FPU) while hardfloat is using the hardware floating point engine (i.e., use the FPU)</blockquote> <p>Not if you're referring to the ABIs, which are the fundamental difference between what dpkg calls armel and armhf. The soft-float variant of ARM EABI (armel) requires that FP parameters and return values are passed in integer registers, for compatibility with FPU-less processors. Functions built for the soft-float ABI may still use an FPU if present, but they have to move values between integer and FP registers at call boundaries. The benefit of the hard-float ABI (armhf) in terms of code generation is that it uses the FP registers for parameters and return values, reducing the need for register moves.</p> <p>Of course, targetting armhf does mean all code can be built to assume an FPU is present, without the need to provide a fallback for less capable processors. This is simpler in some ways as there is no need to do run-time CPU checks in executables, and no need to build multiple variants of libraries. But looking at this from a higher level again, adding optimised libaries to Debian's armel should mean less work in the long term for Raspbian...</p> Tue, 11 Sep 2012 05:23:17 +0000 The 2012 Kernel Summit https://lwn.net/Articles/515603/ https://lwn.net/Articles/515603/ dlang <div class="FormattedComment"> <font class="QuotedText">&gt; e.g. building without using the FPU at all)</font><br> <p> Isn't that what softfloat vs hardflat is? softfloat is software floating point (i.e. no FPU) while hardfloat is using the hardware floating point engine (i.e., use the FPU)<br> </div> Tue, 11 Sep 2012 03:34:32 +0000 The 2012 Kernel Summit https://lwn.net/Articles/515602/ https://lwn.net/Articles/515602/ BenHutchings <blockquote>http://www.memetic.org/raspbian-benchmarking-armel-vs-armhf<br> Shows a 5-40% improvement or most applications.</blockquote> <p>I think I wasn't very clear. It is certainly possible to build significantly faster binaries for the RPi processor than are currently available in the armel architecture. But how much of the performance improvement is due to using the hard-float vs soft-float ABI and how much is due to optimising for v6 vs v4? You see, it should be possible to build optimised libraries for v6 processors and then use the dynamic linker's CPU feature checks to select between the v4-compatible and optimised v6 builds (like we do on i386 for libraries that benefit from use of CMOV and SSE2). And those could be added to Debian without any need to fork or rebuild. Has that been tried and compared?</p> <blockquote>https://wiki.linaro.org/OfficeofCTO/HardFloat/Benchmarks2...<br> A more "fair" set of armv7 vs armv7 benchmarks showing up to 1400% improvement, though indeed most applications are within the margin of error. The most interesting gains are IMHO in the ffmpeg and gtk benchmarks.</blockquote> <p>I can't help wondering whether the huge gains for two POVray tests (not seen in the Phoronix benchmarks that use POVray) are due to some mistake in building them (e.g. building without using the FPU at all). Also tests on a v7 core aren't necessarily representative of the RPi's v6 core. But this is hopefully somewhat indicative of the difference between hard-float and soft-float, and the results really are quite mixed!</p> Tue, 11 Sep 2012 03:20:13 +0000 The 2012 Kernel Summit https://lwn.net/Articles/515578/ https://lwn.net/Articles/515578/ Jonno <div class="FormattedComment"> <font class="QuotedText">&gt; [citation needed] What I hear is that is that the performance hit is really marginal for almost all applications.</font><br> <p> <a href="http://www.memetic.org/raspbian-benchmarking-armel-vs-armhf">http://www.memetic.org/raspbian-benchmarking-armel-vs-armhf</a><br> Shows a 5-40% improvement or most applications. Not all the difference is due to hardfloat, some is due to using an armv6, rather than armv4, instruction set, but still very relevant to the choice between Debian armel and Raspbian armhf for the Raspberry Pi.<br> <p> <a href="https://wiki.linaro.org/OfficeofCTO/HardFloat/Benchmarks201205">https://wiki.linaro.org/OfficeofCTO/HardFloat/Benchmarks2...</a><br> A more "fair" set of armv7 vs armv7 benchmarks showing up to 1400% improvement, though indeed most applications are within the margin of error. The most interesting gains are IMHO in the ffmpeg and gtk benchmarks.<br> </div> Mon, 10 Sep 2012 19:48:42 +0000 The 2012 Kernel Summit https://lwn.net/Articles/515567/ https://lwn.net/Articles/515567/ BenHutchings <blockquote>...while the armel port is much slower than necessary due to it's use of soft-float...</blockquote> <p>[citation needed] What I hear is that is that the performance hit is really marginal for almost all applications.</p> Mon, 10 Sep 2012 17:51:36 +0000 The 2012 Kernel Summit https://lwn.net/Articles/514919/ https://lwn.net/Articles/514919/ arnd <div class="FormattedComment"> There is no support for the chip used in the Raspberry Pi in the upstream kernel, so it can't possibly get any worse for them.<br> <p> Regarding ARM architecture level support, we actually just removed most of ARMv3, so if you are running a RiscPC with an ARM610 or ARM710 CPU, you now have to upgrade to an ARMv4 based StrongARM CPU. It will probably be a number of years before anyone can seriously suggest removing ARMv4 or even ARMv5 support.<br> </div> Wed, 05 Sep 2012 13:15:51 +0000 The 2012 Kernel Summit https://lwn.net/Articles/514753/ https://lwn.net/Articles/514753/ Jonno <div class="FormattedComment"> Actually, Debian armel port is for armv4 soft-float, while the Ubuntu armel port is for armv7 soft-float.<br> <p> Recently, both Debian 7.0 (wheezy) and Ubuntu 12.04 (precise) also added an armhf port for armv7 hard-float.<br> <p> As the Debian armhf port don't work on the armv6 in the Raspbery Pi, while the armel port is much slower than necessary due to it's use of soft-float, Raspbian has released an armhf port for armv6 hard-float, which is forward compatible with the Debian armhf port (eg you can mix Raspbian armhf and Debian armhf packages on the same system, but that will obviously only work on armv7 hardware).<br> </div> Tue, 04 Sep 2012 11:38:41 +0000 The 2012 Kernel Summit https://lwn.net/Articles/514748/ https://lwn.net/Articles/514748/ viiru <div class="FormattedComment"> <font class="QuotedText">&gt; Concerning "cleaning up cruft in the ARM tree", note that this very issue</font><br> <font class="QuotedText">&gt; is biting Raspberry Pi users on the ass; was it Debian that dumped ARM6</font><br> <font class="QuotedText">&gt; support?</font><br> <p> No, it was not. The Debian armel port is still at armv5. IIRC Fedora and Ubuntu however only support v7.<br> <p> I think someone had a special Raspberry Pi Debian port for v6 hard float. I think some people are also working on a Debian armv7 hard float port that aims for official inclusion (but doesn't aim to replace the current v5 soft float port).<br> </div> Tue, 04 Sep 2012 08:14:12 +0000 The 2012 Kernel Summit https://lwn.net/Articles/514744/ https://lwn.net/Articles/514744/ Baylink <div class="FormattedComment"> Concerning "cleaning up cruft in the ARM tree", note that this very issue is biting Raspberry Pi users on the ass; was it Debian that dumped ARM6 support?<br> </div> Tue, 04 Sep 2012 01:43:11 +0000 The 2012 Kernel Summit https://lwn.net/Articles/514488/ https://lwn.net/Articles/514488/ felixfix <div class="FormattedComment"> This subscriber would like to thank Jake for going and writing about it, and hopes some of the money was spent on pizza and beer or whatever toots his horn.<br> <p> This subscriber would also like to thank our Grumpy Editor for hiring Jake in the second place, and for running LWN in the first place.<br> <p> This subscriber would also like to thank all the other subscribers, especially those who are at a higher (more expensive) level, for goading me to revise my budget when the opportunity presents itself.<br> </div> Fri, 31 Aug 2012 08:34:02 +0000