提交 05f96ef1 编写于 作者: R Russell King 提交者: Russell King

[ARM] Allow gcc to optimise arm_add_memory a little more

For some reason, gcc was calculating meminfo.bank[meminfo.nr_banks]
repeatedly.  Use a pointer to it instead.
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 b7dc96d7
...@@ -441,16 +441,19 @@ __early_param("initrd=", early_initrd); ...@@ -441,16 +441,19 @@ __early_param("initrd=", early_initrd);
static void __init arm_add_memory(unsigned long start, unsigned long size) static void __init arm_add_memory(unsigned long start, unsigned long size)
{ {
struct membank *bank;
/* /*
* Ensure that start/size are aligned to a page boundary. * Ensure that start/size are aligned to a page boundary.
* Size is appropriately rounded down, start is rounded up. * Size is appropriately rounded down, start is rounded up.
*/ */
size -= start & ~PAGE_MASK; size -= start & ~PAGE_MASK;
meminfo.bank[meminfo.nr_banks].start = PAGE_ALIGN(start); bank = &meminfo.bank[meminfo.nr_banks++];
meminfo.bank[meminfo.nr_banks].size = size & PAGE_MASK;
meminfo.bank[meminfo.nr_banks].node = PHYS_TO_NID(start); bank->start = PAGE_ALIGN(start);
meminfo.nr_banks += 1; bank->size = size & PAGE_MASK;
bank->node = PHYS_TO_NID(start);
} }
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册