From: Mike Rapoport <rppt@kernel.org> To: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@kernel.org>, Baoquan He <bhe@redhat.com>, Benjamin Herrenschmidt <benh@kernel.crashing.org>, Borislav Petkov <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>, Christoph Hellwig <hch@lst.de>, Dave Hansen <dave.hansen@linux.intel.com>, Emil Renner Berthing <kernel@esmil.dk>, Ingo Molnar <mingo@redhat.com>, Hari Bathini <hbathini@linux.ibm.com>, Marek Szyprowski <m.szyprowski@samsung.com>, Max Filippov <jcmvbkbc@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>, Michal Simek <monstr@monstr.eu>, Mike Rapoport <rppt@linux.ibm.com>, Mike Rapoport <rppt@kernel.org>, Palmer Dabbelt <palmer@dabbelt.com>, Paul Mackerras <paulus@samba.org>, Paul Walmsley <paul.walmsley@sifive.com>, Peter Zijlstra <peterz@infradead.org> Subject: [PATCH v2 02/17] dma-contiguous: simplify cma_early_percent_memory() Date: Sun, 2 Aug 2020 19:35:46 +0300 Message-ID: <20200802163601.8189-3-rppt@kernel.org> (raw) In-Reply-To: <20200802163601.8189-1-rppt@kernel.org> From: Mike Rapoport <rppt@linux.ibm.com> The memory size calculation in cma_early_percent_memory() 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> Reviewed-by: Christoph Hellwig <hch@lst.de> --- kernel/dma/contiguous.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/kernel/dma/contiguous.c b/kernel/dma/contiguous.c index 15bc5026c485..1992afd8ca7b 100644 --- a/kernel/dma/contiguous.c +++ b/kernel/dma/contiguous.c @@ -73,16 +73,7 @@ early_param("cma", early_cma); static phys_addr_t __init __maybe_unused cma_early_percent_memory(void) { - struct memblock_region *reg; - unsigned long total_pages = 0; - - /* - * We cannot use memblock_phys_mem_size() here, because - * memblock_analyze() has not been called yet. - */ - for_each_memblock(memory, reg) - total_pages += memblock_region_memory_end_pfn(reg) - - memblock_region_memory_base_pfn(reg); + unsigned long total_pages = PHYS_PFN(memblock_phys_mem_size()); return (total_pages * CONFIG_CMA_SIZE_PERCENTAGE / 100) << PAGE_SHIFT; } -- 2.26.2
next prev parent reply index Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-02 16:35 [PATCH v2 00/17] memblock: seasonal cleaning^w cleanup Mike Rapoport 2020-08-02 16:35 ` [PATCH v2 01/17] KVM: PPC: Book3S HV: simplify kvm_cma_reserve() Mike Rapoport 2020-08-04 13:53 ` Daniel Axtens 2020-08-02 16:35 ` Mike Rapoport [this message] 2020-08-05 3:50 ` [PATCH v2 02/17] dma-contiguous: simplify cma_early_percent_memory() Baoquan He 2020-08-02 16:35 ` [PATCH v2 03/17] arm, xtensa: simplify initialization of high memory pages Mike Rapoport 2020-08-02 16:35 ` [PATCH v2 04/17] arm64: numa: simplify dummy_numa_init() Mike Rapoport 2020-08-02 16:35 ` [PATCH v2 05/17] h8300, nds32, openrisc: simplify detection of memory extents Mike Rapoport 2020-08-02 16:35 ` [PATCH v2 06/17] riscv: drop unneeded node initialization Mike Rapoport 2020-08-02 16:35 ` [PATCH v2 07/17] mircoblaze: drop unneeded NUMA and sparsemem initializations Mike Rapoport 2020-08-02 16:35 ` [PATCH v2 08/17] memblock: make for_each_memblock_type() iterator private Mike Rapoport 2020-08-02 16:35 ` [PATCH v2 09/17] memblock: make memblock_debug and related functionality private Mike Rapoport 2020-08-02 16:35 ` [PATCH v2 10/17] memblock: reduce number of parameters in for_each_mem_range() Mike Rapoport 2020-08-02 16:35 ` [PATCH v2 11/17] arch, mm: replace for_each_memblock() with for_each_mem_pfn_range() Mike Rapoport 2020-08-05 3:57 ` Baoquan He 2020-08-02 16:35 ` [PATCH v2 12/17] arch, drivers: replace for_each_membock() with for_each_mem_range() Mike Rapoport 2020-08-05 11:00 ` Thomas Bogendoerfer 2020-08-02 16:35 ` [PATCH v2 13/17] x86/setup: simplify initrd relocation and reservation Mike Rapoport 2020-08-02 18:01 ` Ingo Molnar 2020-08-05 4:20 ` Baoquan He 2020-08-05 5:59 ` Mike Rapoport 2020-08-05 5:59 ` Mike Rapoport 2020-08-02 16:35 ` [PATCH v2 14/17] x86/setup: simplify reserve_crashkernel() Mike Rapoport 2020-08-02 18:02 ` Ingo Molnar 2020-08-05 6:00 ` Baoquan He 2020-08-02 16:35 ` [PATCH v2 15/17] memblock: remove unused memblock_mem_size() Mike Rapoport 2020-08-05 8:29 ` Baoquan He [not found] ` <20200802163601.8189-1-rppt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> 2020-08-02 16:36 ` [PATCH v2 16/17] memblock: implement for_each_reserved_mem_region() using __next_mem_region() Mike Rapoport 2020-08-05 9:11 ` Baoquan He 2020-08-05 17:11 ` Miguel Ojeda 2020-08-02 16:36 ` [PATCH v2 17/17] memblock: use separate iterators for memory and reserved regions Mike Rapoport 2020-08-02 18:03 ` Ingo Molnar [not found] ` <20200802163601.8189-18-rppt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> 2020-08-05 9:29 ` Baoquan He 2020-08-05 10:58 ` Thomas Bogendoerfer 2020-08-05 17:10 ` Miguel Ojeda
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=20200802163601.8189-3-rppt@kernel.org \ --to=rppt@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=benh@kernel.crashing.org \ --cc=bhe@redhat.com \ --cc=bp@alien8.de \ --cc=catalin.marinas@arm.com \ --cc=dave.hansen@linux.intel.com \ --cc=hbathini@linux.ibm.com \ --cc=hch@lst.de \ --cc=jcmvbkbc@gmail.com \ --cc=kernel@esmil.dk \ --cc=luto@kernel.org \ --cc=m.szyprowski@samsung.com \ --cc=mingo@redhat.com \ --cc=monstr@monstr.eu \ --cc=mpe@ellerman.id.au \ --cc=palmer@dabbelt.com \ --cc=paul.walmsley@sifive.com \ --cc=paulus@samba.org \ --cc=peterz@infradead.org \ --cc=rppt@linux.ibm.com \ /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
Linux-arch Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-arch/0 linux-arch/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-arch linux-arch/ https://lore.kernel.org/linux-arch \ linux-arch@vger.kernel.org public-inbox-index linux-arch Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-arch AGPL code for this site: git clone https://public-inbox.org/public-inbox.git