From: Mike Rapoport <rppt@kernel.org>
To: openrisc@lists.librecores.org
Subject: [OpenRISC] [PATCH v3 01/17] KVM: PPC: Book3S HV: simplify kvm_cma_reserve()
Date: Tue, 18 Aug 2020 18:16:18 +0300 [thread overview]
Message-ID: <20200818151634.14343-2-rppt@kernel.org> (raw)
In-Reply-To: <20200818151634.14343-1-rppt@kernel.org>
From: Mike Rapoport <rppt@linux.ibm.com>
The memory size calculation in kvm_cma_reserve() traverses memblock.memory
rather than simply call memblock_phys_mem_size(). The comment in that
function suggests that at some point there should have been call to
memblock_analyze() before memblock_phys_mem_size() could be used.
As of now, there is no memblock_analyze() at all and
memblock_phys_mem_size() can be used as soon as cold-plug memory is
registerd with memblock.
Replace loop over memblock.memory with a call to memblock_phys_mem_size().
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
arch/powerpc/kvm/book3s_hv_builtin.c | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/arch/powerpc/kvm/book3s_hv_builtin.c b/arch/powerpc/kvm/book3s_hv_builtin.c
index 073617ce83e0..8f58dd20b362 100644
--- a/arch/powerpc/kvm/book3s_hv_builtin.c
+++ b/arch/powerpc/kvm/book3s_hv_builtin.c
@@ -95,23 +95,15 @@ EXPORT_SYMBOL_GPL(kvm_free_hpt_cma);
void __init kvm_cma_reserve(void)
{
unsigned long align_size;
- struct memblock_region *reg;
- phys_addr_t selected_size = 0;
+ phys_addr_t selected_size;
/*
* We need CMA reservation only when we are in HV mode
*/
if (!cpu_has_feature(CPU_FTR_HVMODE))
return;
- /*
- * We cannot use memblock_phys_mem_size() here, because
- * memblock_analyze() has not been called yet.
- */
- for_each_memblock(memory, reg)
- selected_size += memblock_region_memory_end_pfn(reg) -
- memblock_region_memory_base_pfn(reg);
- selected_size = (selected_size * kvm_cma_resv_ratio / 100) << PAGE_SHIFT;
+ selected_size = PAGE_ALIGN(memblock_phys_mem_size() * kvm_cma_resv_ratio / 100);
if (selected_size) {
pr_info("%s: reserving %ld MiB for global area\n", __func__,
(unsigned long)selected_size / SZ_1M);
--
2.26.2
next prev parent reply other threads:[~2020-08-18 15:16 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-18 15:16 [OpenRISC] [PATCH v3 00/17] memblock: seasonal cleaning^w cleanup Mike Rapoport
2020-08-18 15:16 ` Mike Rapoport [this message]
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 02/17] dma-contiguous: simplify cma_early_percent_memory() Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 03/17] arm, xtensa: simplify initialization of high memory pages Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 04/17] arm64: numa: simplify dummy_numa_init() Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 05/17] h8300, nds32, openrisc: simplify detection of memory extents Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 06/17] riscv: drop unneeded node initialization Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 07/17] mircoblaze: drop unneeded NUMA and sparsemem initializations Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 08/17] memblock: make for_each_memblock_type() iterator private Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 09/17] memblock: make memblock_debug and related functionality private Mike Rapoport
2020-08-19 19:24 ` Andrew Morton
2020-08-19 20:48 ` Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 10/17] memblock: reduce number of parameters in for_each_mem_range() Mike Rapoport
2020-08-18 22:18 ` Miguel Ojeda
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 11/17] arch, mm: replace for_each_memblock() with for_each_mem_pfn_range() Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 12/17] arch, drivers: replace for_each_membock() with for_each_mem_range() Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 13/17] x86/setup: simplify initrd relocation and reservation Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 14/17] x86/setup: simplify reserve_crashkernel() Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 15/17] memblock: remove unused memblock_mem_size() Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 16/17] memblock: implement for_each_reserved_mem_region() using __next_mem_region() Mike Rapoport
2020-08-18 15:16 ` [OpenRISC] [PATCH v3 17/17] memblock: use separate iterators for memory and reserved regions Mike Rapoport
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=20200818151634.14343-2-rppt@kernel.org \
--to=rppt@kernel.org \
--cc=openrisc@lists.librecores.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox