Skip to content

Commit

Permalink
[ARM] Allow gcc to optimise arm_add_memory a little more
Browse files Browse the repository at this point in the history
For some reason, gcc was calculating meminfo.bank[meminfo.nr_banks]
repeatedly.  Use a pointer to it instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King authored and Russell King committed Dec 7, 2006
1 parent b7dc96d commit 05f96ef
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions arch/arm/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -441,16 +441,19 @@ __early_param("initrd=", early_initrd);

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.
* Size is appropriately rounded down, start is rounded up.
*/
size -= start & ~PAGE_MASK;

meminfo.bank[meminfo.nr_banks].start = PAGE_ALIGN(start);
meminfo.bank[meminfo.nr_banks].size = size & PAGE_MASK;
meminfo.bank[meminfo.nr_banks].node = PHYS_TO_NID(start);
meminfo.nr_banks += 1;
bank = &meminfo.bank[meminfo.nr_banks++];

bank->start = PAGE_ALIGN(start);
bank->size = size & PAGE_MASK;
bank->node = PHYS_TO_NID(start);
}

/*
Expand Down

0 comments on commit 05f96ef

Please sign in to comment.