From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm: Update memblock limit after mapping lowmem
Date: Thu, 11 Jun 2015 14:07:00 +0100 [thread overview]
Message-ID: <20150611130700.GA8153@leverpostej> (raw)
In-Reply-To: <1433445349-12497-1-git-send-email-labbott@fedoraproject.org>
On Thu, Jun 04, 2015 at 08:15:49PM +0100, Laura Abbott wrote:
>
> The memblock limit is currently used in find_limits
> to find the bounds for ZONE_NORMAL. The memblock
> limit may need to be rounded down a PMD size to ensure
> allocations are fully mapped though. This has the side
> effect of reducing the amount of memory in ZONE_NORMAL.
> Once all lowmem is mapped, it's safe to change the memblock
> limit back to include the unaligned section. Adjust the
> memblock limit after lowmem mapping is complete.
>
> Before:
> # cat /proc/zoneinfo | grep managed
> managed 62907
> managed 424
>
> After:
> # cat /proc/zoneinfo | grep managed
> managed 63331
>
> Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
> ---
> This is a replacement for
> 'arm: Don't use memblock limit for the lowmem bound' which
> doesn't actually work on NOMMU systems.
Works for me on TC2, atop v4.1-rc7. Before this patch, with a few byes
carved out of the memory node I would see:
Memory: 1030380K/1046528K available (4832K kernel code, 154K rwdata, 1376K rodata, 260K init, 147K bss, 16148K reserved, 0K cma-reserved)
$ cat /proc/zoneinfo | grep managed
managed 257660
With the patch I see:
Memory: 1032424K/1048572K available (4832K kernel code, 154K rwdata, 1376K rodata, 260K init, 147K bss, 16148K reserved, 0K cma-reserved)
$ cat /proc/zoneinfo | grep managed
managed 258171
The patch itself looks good to me.
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Thanks,
Mark.
> ---
> arch/arm/mm/mmu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
> index 7186382..904d153 100644
> --- a/arch/arm/mm/mmu.c
> +++ b/arch/arm/mm/mmu.c
> @@ -1519,6 +1519,7 @@ void __init paging_init(const struct machine_desc *mdesc)
> build_mem_type_table();
> prepare_page_table();
> map_lowmem();
> + memblock_set_current_limit(arm_lowmem_limit);
> dma_contiguous_remap();
> devicemaps_init(mdesc);
> kmap_init();
> --
> 2.4.1
>
WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Laura Abbott <labbott@fedoraproject.org>
Cc: Russell King <linux@arm.linux.org.uk>,
Arnd Bergmann <arnd@arndb.de>, Nicolas Pitre <nico@linaro.org>,
Stefan Agner <stefan@agner.ch>,
Catalin Marinas <Catalin.Marinas@arm.com>,
Will Deacon <Will.Deacon@arm.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Hans de Goede <hdegoede@redhat.com>
Subject: Re: [PATCH] arm: Update memblock limit after mapping lowmem
Date: Thu, 11 Jun 2015 14:07:00 +0100 [thread overview]
Message-ID: <20150611130700.GA8153@leverpostej> (raw)
In-Reply-To: <1433445349-12497-1-git-send-email-labbott@fedoraproject.org>
On Thu, Jun 04, 2015 at 08:15:49PM +0100, Laura Abbott wrote:
>
> The memblock limit is currently used in find_limits
> to find the bounds for ZONE_NORMAL. The memblock
> limit may need to be rounded down a PMD size to ensure
> allocations are fully mapped though. This has the side
> effect of reducing the amount of memory in ZONE_NORMAL.
> Once all lowmem is mapped, it's safe to change the memblock
> limit back to include the unaligned section. Adjust the
> memblock limit after lowmem mapping is complete.
>
> Before:
> # cat /proc/zoneinfo | grep managed
> managed 62907
> managed 424
>
> After:
> # cat /proc/zoneinfo | grep managed
> managed 63331
>
> Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
> ---
> This is a replacement for
> 'arm: Don't use memblock limit for the lowmem bound' which
> doesn't actually work on NOMMU systems.
Works for me on TC2, atop v4.1-rc7. Before this patch, with a few byes
carved out of the memory node I would see:
Memory: 1030380K/1046528K available (4832K kernel code, 154K rwdata, 1376K rodata, 260K init, 147K bss, 16148K reserved, 0K cma-reserved)
$ cat /proc/zoneinfo | grep managed
managed 257660
With the patch I see:
Memory: 1032424K/1048572K available (4832K kernel code, 154K rwdata, 1376K rodata, 260K init, 147K bss, 16148K reserved, 0K cma-reserved)
$ cat /proc/zoneinfo | grep managed
managed 258171
The patch itself looks good to me.
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Thanks,
Mark.
> ---
> arch/arm/mm/mmu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
> index 7186382..904d153 100644
> --- a/arch/arm/mm/mmu.c
> +++ b/arch/arm/mm/mmu.c
> @@ -1519,6 +1519,7 @@ void __init paging_init(const struct machine_desc *mdesc)
> build_mem_type_table();
> prepare_page_table();
> map_lowmem();
> + memblock_set_current_limit(arm_lowmem_limit);
> dma_contiguous_remap();
> devicemaps_init(mdesc);
> kmap_init();
> --
> 2.4.1
>
next prev parent reply other threads:[~2015-06-11 13:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-04 19:15 [PATCH] arm: Update memblock limit after mapping lowmem Laura Abbott
2015-06-04 19:15 ` Laura Abbott
2015-06-11 13:07 ` Mark Rutland [this message]
2015-06-11 13:07 ` Mark Rutland
2015-06-25 0:07 ` Laura Abbott
2015-06-25 0:07 ` Laura Abbott
2015-07-01 8:09 ` Javier Martinez Canillas
2015-07-01 8:09 ` Javier Martinez Canillas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150611130700.GA8153@leverpostej \
--to=mark.rutland@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.