[LEDE-DEV] [PATCH] kmodloader: don't store aliases info in struct module

Felix Fietkau nbd at nbd.name
Thu Feb 23 05:58:07 PST 2017


On 2017-02-23 04:25, Yousong Zhou wrote:
> This also fixes FS#544 as the allocation causing possible address alignment
> issue should now disappear
> 
> Size comparison on x86_64 system
> 
> 	function                                             old     new   delta
> 	alloc_module                                         398     245    -153
> 	------------------------------------------------------------------------------
> 	(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-153)           Total: -153 bytes
> 
> Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
> ---
> Ted, please test it on your board to see if it can fix your issue.
> 
> The patch was only run-tested on armvirt cortex-a15 machine.
> 
> I actually thought about patching calloc_a to make sizeof_long-aligned
> allocation as the comment in libubox/utils.h says the func should "allocate a
> block of memory big enough to hold multiple aligned objects."
> 
> But that's too corase a solution for a fundamental lib and can waste runtime
> memory.  Maybe we should reword that comment and provide a few helper macros
> like SHORT_ALIGN, INT_ALIGN, LONG_ALIGN?
I think aligning to 4 bytes by default in calloc_a might be a good idea.
For cases where it's important to not waste any bytes, we could have an
unaligned variant of it.

- Felix



More information about the Lede-dev mailing list