On Sat, Apr 15, 2017 at 1:00 AM, Jay Carlson <n...@nop.com> wrote:
> I’ve been fooling around with various userspace toolchain hacks for mips, 
> trying to make things faster globally. But then I realized: I don’t know what 
> “faster” is. Or what “better” is, in general.

[...]

> There was a very useful discussion about free space on jffs2 in terms of 
> erase blocks, since some machines are out of them. 32M/4M machines are on the 
> chopping block, right? So anything that can get the squashfs down to an erase 
> block boundary or two might be a win. For example, I got musl building in 
> mips16 mode, and it was a lot less hack-y than I expected. But mips->mips16 
> executables in squashfs are not that much smaller. libc went from 600k to 
> 450k, but after xz -0, it was 236k -> 211k. All that for 15k in squashfs. Of 
> course, that’s still 150k less code to be faulted in.

musl, busybox + all the the other userland could be build with link
time optimisation (-flto). Not everything compiles or works with it,
but after compression another 80kbyte were free on the default image.
This might make things a little bit faster but I didn't test memory
usage or speed. Gains from busybox or musl were minimal (not more than
20kbyte compressed).

Another hack is to reduce the squashfs fragment cache size[1] and try
bumping up the squashfs block size from 256.
In testing this gave some more free memory on 32MByte devices, even
with 512 block size but I don't have any hard data.

Might be worth a look if you run out of other options.

regards
Martin

https://gitlab.bau-ha.us/weimarnetz/firmware/blob/master/patches/801-fragment-cache-size.patch

_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to