[RFC PATCH v2] mvebu: compile the kernel in Thumb-2 mode for ARMv7 targets

Rui Salvaterra rsalvaterra at gmail.com
Tue Jun 30 18:30:57 EDT 2020

Hi, Hauke,

On Tue, 30 Jun 2020 at 21:32, Hauke Mehrtens <hauke at hauke-m.de> wrote:
> Did you run a benchmark to test how much faster it is?

I haven't done any performance testing, but I expect it to be a wash
(improvements/regressions within around 2-3 % across the board). The
big win here is in the memory/icache footprint.
How do we usually do performance testing in OpenWrt, by the way? I
could try and see if there's any meaningful difference in, say,
OpenSSL speed, but that won't tell us anything about networking

> Did you also tested this with the current default toolchain?
> I would like to use binutils 2.34 as default soon, but gcc will probably
> not be updated soon.

There's no reason gcc 8 won't work fine too, the only snag we hit was
with gas, and that's already fixed (see below). I'll test with gcc 8
too, though, just to make sure (and 10, as soon as it hits master :)).

> Do you know if there is a fix for GNU gas available?

Yes, I do. Jason filled an upstream bug and it's already fixed [1]. I
don't know if it'll be backported to other binutils versions, though.
In any case, the only problematic module was WireGuard (due to an old
hack), which Jason already fixed in the latest compat backport [2]
(note that with this fix in place, the kernel R_ARM_THM_JUMP11
workaround isn't required at all).

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=26141
[2] https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=ea5192e6c505c53b0565f63841ff22dbe51c302c


More information about the openwrt-devel mailing list