From: Baoquan He <bhe@redhat.com>
To: linux-mm@kvack.org
Cc: Baoquan He <bhe@redhat.com>,
x86@kernel.org, linux-kernel@vger.kernel.org,
akpm@linux-foundation.org, linuxppc-dev@lists.ozlabs.org,
rppt@kernel.org
Subject: [PATCH 0/6] mm/mm_init.c: refactor free_area_init_core()
Date: Mon, 18 Mar 2024 22:21:32 +0800 [thread overview]
Message-ID: <20240318142138.783350-1-bhe@redhat.com> (raw)
In function free_area_init_core(), the code calculating
zone->managed_pages and the subtracting dma_reserve from DMA zone looks
very confusing.
From git history, the code calculating zone->managed_pages was for
zone->present_pages originally. The early rough assignment is for
optimize zone's pcp and water mark setting. Later, managed_pages was
introduced into zone to represent the number of managed pages by buddy.
Now, zone->managed_pages is zeroed out and reset in mem_init() when
calling memblock_free_all(). zone's pcp and wmark setting relying on
actual zone->managed_pages are done later than mem_init() invocation.
So we don't need rush to early calculate and set zone->managed_pages,
just set it as zone->present_pages, will adjust it in mem_init().
And also add a new function calc_nr_kernel_pages() to count up free but
not reserved pages in memblock, then assign it to nr_all_pages and
nr_kernel_pages after memmap pages are allocated.
Baoquan He (6):
mm/mm_init.c: remove the useless dma_reserve
x86: remove unneeded memblock_find_dma_reserve()
mm/mm_init.c: add new function calc_nr_all_pages()
mm/mm_init.c: remove meaningless calculation of zone->managed_pages in
free_area_init_core()
mm/mm_init.c: remove unneeded calc_memmap_size()
mm/mm_init.c: remove arch_reserved_kernel_pages()
arch/powerpc/include/asm/mmu.h | 4 --
arch/powerpc/kernel/fadump.c | 5 --
arch/x86/include/asm/pgtable.h | 1 -
arch/x86/kernel/setup.c | 2 -
arch/x86/mm/init.c | 47 -------------
include/linux/mm.h | 4 --
mm/mm_init.c | 117 +++++++++------------------------
7 files changed, 30 insertions(+), 150 deletions(-)
--
2.41.0
WARNING: multiple messages have this Message-ID (diff)
From: Baoquan He <bhe@redhat.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
linuxppc-dev@lists.ozlabs.org, akpm@linux-foundation.org,
rppt@kernel.org, Baoquan He <bhe@redhat.com>
Subject: [PATCH 0/6] mm/mm_init.c: refactor free_area_init_core()
Date: Mon, 18 Mar 2024 22:21:32 +0800 [thread overview]
Message-ID: <20240318142138.783350-1-bhe@redhat.com> (raw)
In function free_area_init_core(), the code calculating
zone->managed_pages and the subtracting dma_reserve from DMA zone looks
very confusing.
From git history, the code calculating zone->managed_pages was for
zone->present_pages originally. The early rough assignment is for
optimize zone's pcp and water mark setting. Later, managed_pages was
introduced into zone to represent the number of managed pages by buddy.
Now, zone->managed_pages is zeroed out and reset in mem_init() when
calling memblock_free_all(). zone's pcp and wmark setting relying on
actual zone->managed_pages are done later than mem_init() invocation.
So we don't need rush to early calculate and set zone->managed_pages,
just set it as zone->present_pages, will adjust it in mem_init().
And also add a new function calc_nr_kernel_pages() to count up free but
not reserved pages in memblock, then assign it to nr_all_pages and
nr_kernel_pages after memmap pages are allocated.
Baoquan He (6):
mm/mm_init.c: remove the useless dma_reserve
x86: remove unneeded memblock_find_dma_reserve()
mm/mm_init.c: add new function calc_nr_all_pages()
mm/mm_init.c: remove meaningless calculation of zone->managed_pages in
free_area_init_core()
mm/mm_init.c: remove unneeded calc_memmap_size()
mm/mm_init.c: remove arch_reserved_kernel_pages()
arch/powerpc/include/asm/mmu.h | 4 --
arch/powerpc/kernel/fadump.c | 5 --
arch/x86/include/asm/pgtable.h | 1 -
arch/x86/kernel/setup.c | 2 -
arch/x86/mm/init.c | 47 -------------
include/linux/mm.h | 4 --
mm/mm_init.c | 117 +++++++++------------------------
7 files changed, 30 insertions(+), 150 deletions(-)
--
2.41.0
next reply other threads:[~2024-03-18 14:22 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-18 14:21 Baoquan He [this message]
2024-03-18 14:21 ` [PATCH 0/6] mm/mm_init.c: refactor free_area_init_core() Baoquan He
2024-03-18 14:21 ` [PATCH 1/6] mm/mm_init.c: remove the useless dma_reserve Baoquan He
2024-03-18 14:21 ` Baoquan He
2024-03-18 14:21 ` [PATCH 2/6] x86: remove memblock_find_dma_reserve() Baoquan He
2024-03-18 14:21 ` Baoquan He
2024-03-19 15:49 ` Mike Rapoport
2024-03-19 15:49 ` Mike Rapoport
2024-03-20 7:52 ` Baoquan He
2024-03-20 7:52 ` Baoquan He
2024-03-20 9:36 ` Mike Rapoport
2024-03-20 9:36 ` Mike Rapoport
2024-03-20 13:14 ` Baoquan He
2024-03-20 13:14 ` Baoquan He
2024-03-18 14:21 ` [PATCH 3/6] mm/mm_init.c: add new function calc_nr_kernel_pages() Baoquan He
2024-03-18 14:21 ` Baoquan He
2024-03-18 14:21 ` [PATCH 4/6] mm/mm_init.c: remove meaningless calculation of zone->managed_pages in free_area_init_core() Baoquan He
2024-03-18 14:21 ` Baoquan He
2024-03-19 16:17 ` Mike Rapoport
2024-03-19 16:17 ` Mike Rapoport
2024-03-20 8:18 ` Baoquan He
2024-03-20 8:18 ` Baoquan He
2024-03-20 8:47 ` Baoquan He
2024-03-20 8:47 ` Baoquan He
2024-03-18 14:21 ` [PATCH 5/6] mm/mm_init.c: remove unneeded calc_memmap_size() Baoquan He
2024-03-18 14:21 ` Baoquan He
2024-03-18 14:21 ` [PATCH 6/6] mm/mm_init.c: remove arch_reserved_kernel_pages() Baoquan He
2024-03-18 14:21 ` Baoquan He
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=20240318142138.783350-1-bhe@redhat.com \
--to=bhe@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=rppt@kernel.org \
--cc=x86@kernel.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.