-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
32-bit Armbian for NEO 2? #645
Comments
Changing the build scripts will be the easy part, but not the first one. We need to start by answering a set of questions to make a roadmap for this "feature":
|
Well, I would postpone all of the above questions for one simple reason (now that you answered 'Changing the build scripts will be the easy part'): doing some research first. I searched the net but did not found any ressources analyzing memory useage and real-world performance. But creating such a test OS image can also be done manually (throwing together userland of an H3 OPi Zero image with u-boot/kernel for a H5 image). My problem is that I don't have any ARMv8 board with just 512 MB currently (waiting for an answer regarding Xunlong samples but maybe getting back to FriendlyELEC to ask for one NEO Plus 2). |
I believe it should be easy enough to "convince" a mainline based Pine64 image that it has only 512MB memory available. We already played with limiting memory size for legacy based images for testing 2GB Mali issue on H3 (though it was the legacy kernel and a special debug kernel option), and I believe that mainline u-boot passes memory info to the mainline kernel in the DT. |
Any guidance on this? In the meantime I also thought about your questions above. At least I don't want to care about BSP kernel and desktop stuff at all. I will only waste time here to get an idea whether server use cases on those little 64-bit boards might benefit from running Also zram needs 3.14 or above (3.15 even better) so we end up with a) mainline kernel as a requirement and b) a clear 'do not buy' recommendation for 64-bit boards with 512MB DRAM that might 'need' legacy kernel (so we can skip H5 Orange Pi Zero Plus 2 already entirely ;) ) In fact I think this whole 32-bit thing has only some relevance for 64-bit boards that might be used as servers. Then we're talking about NEO 2 and NEO Plus 2 (which might be able to share one image with the documented requirement to do something like We don't sell anything and especially no hardware so we can base our decisions on a 'use case' point of view fortunately :) Edit: FriendlyELEC has zram enabled in their BSP kernel. |
I would try patching
|
Hmm... in the meantime I changed my mind especially after thinking about zsmalloc/zram and this bit from Willy Tarreau:
It would be somewhat stupid to ignore memory bandwidth on those single bank DRAM configs when starting with tests at this level (zram 'performance'). So I need a NEO Plus 2 (not NEO 2 since I also need DVFS and especially the 1.3V back to be able to test what we gain simply by letting H5 run |
Are you more concerned about performance or memory footprint? Even though arm64 binaries are bigger in size, there are also kernel Kconfig settings that may be possible to turn off (they are currently turned on in sun50i-dev config)
|
The relationship between both on 64-bit devices suffering from 'low memory' conditions as it's the case with NEO 2. And yes, we should collect such config options to test through later :) |
Together with last commit Armbian's build system can now create proper OMV 3 images for ~50 SBC.
I think this is useful And 64-bit kernel does not seem to have brought any significant benefits I don't think a board with more than 4GB of RAM should have a 64bit kernel |
Closing. It seems we are not going to make this. |
Today I did a simple test on Pine64: Running a NodeJS benchmark one time with
armhf
and one time witharm64
binaries. Performance numbers more or less the same but huge difference regarding memory consumption: nodesource/distributions#375 (comment)Since I totally missed 64-bit integration in our build system I simply ask: how much efforts would it be to debootstrap
armhf
variants to be combined with 64 bit mainline kernel? If it's rather easy it would be really interesting to create both such variants, measure performance beyond stupid benchmarks and monitor some other workloads also usingvmstat 10
especially on NEO 2 with its limited memory.Any thoughts or objections?
The text was updated successfully, but these errors were encountered: