Hello,

I think there was a misunderstanding - I was not talking about wasted RAM at all. The point was that currently, memalign is not included in the build at all, it is removed by linker as unused code (if the build is configured to do so.) If the linker cannot remove it, the image size increases by more than 1% of total program (flash) memory.

But to reiterate - if the change described in your first option only affects things when mmap is actually in use (which, as Xiang Xiao said, is rare), then it should be fine from 8bit AVR standpoint. The linker will remove mmap for most use cases anyway and, in turn, remove memalign as well, resulting in no overall code size increase.

(On a side note, to my knowledge there is no concept of pages in 8bit AVR and there is no need in the hardware to make aligned allocations at all so it is somewhat likely that mm_memalign could simply be replaced by a macro that calls mm_malloc. But that is off-topic for this thread.)

On 2026-10-10 01:54, Marco C. wrote:
Hello,

The page alignment in 8-bit AVR is **2 bytes**.

I don't think it hurts that much.

What do you think?

Marco Casaroli

Reply via email to