All of lore.kernel.org
 help / color / mirror / Atom feed
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 13/17] x86/setup: simplify initrd relocation and reservation
Date: Sun, 02 Aug 2020 16:35:57 +0000	[thread overview]
Message-ID: <20200802163601.8189-14-rppt@kernel.org> (raw)
In-Reply-To: <20200802163601.8189-1-rppt@kernel.org>

From: Mike Rapoport <rppt@linux.ibm.com>

Currently, initrd image is reserved very early during setup and then it
might be relocated and re-reserved after the initial physical memory
mapping is created. The "late" reservation of memblock verifies that mapped
memory size exceeds the size of initrd, the checks whether the relocation
required and, if yes, relocates inirtd to a new memory allocated from
memblock and frees the old location.

The check for memory size is excessive as memblock allocation will anyway
fail if there is not enough memory. Besides, there is no point to allocate
memory from memblock using memblock_find_in_range() + memblock_reserve()
when there exists memblock_phys_alloc_range() with required functionality.

Remove the redundant check and simplify memblock allocation.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 arch/x86/kernel/setup.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a3767e74c758..d8de4053c5e8 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -262,16 +262,12 @@ static void __init relocate_initrd(void)
 	u64 area_size     = PAGE_ALIGN(ramdisk_size);
 
 	/* We need to move the initrd down into directly mapped mem */
-	relocated_ramdisk = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
-						   area_size, PAGE_SIZE);
-
+	relocated_ramdisk = memblock_phys_alloc_range(area_size, PAGE_SIZE, 0,
+						      PFN_PHYS(max_pfn_mapped));
 	if (!relocated_ramdisk)
 		panic("Cannot find place for new RAMDISK of size %lld\n",
 		      ramdisk_size);
 
-	/* Note: this includes all the mem currently occupied by
-	   the initrd, we rely on that fact to keep the data intact. */
-	memblock_reserve(relocated_ramdisk, area_size);
 	initrd_start = relocated_ramdisk + PAGE_OFFSET;
 	initrd_end   = initrd_start + ramdisk_size;
 	printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
@@ -298,13 +294,13 @@ static void __init early_reserve_initrd(void)
 
 	memblock_reserve(ramdisk_image, ramdisk_end - ramdisk_image);
 }
+
 static void __init reserve_initrd(void)
 {
 	/* Assume only end is not page aligned */
 	u64 ramdisk_image = get_ramdisk_image();
 	u64 ramdisk_size  = get_ramdisk_size();
 	u64 ramdisk_end   = PAGE_ALIGN(ramdisk_image + ramdisk_size);
-	u64 mapped_size;
 
 	if (!boot_params.hdr.type_of_loader ||
 	    !ramdisk_image || !ramdisk_size)
@@ -312,12 +308,6 @@ static void __init reserve_initrd(void)
 
 	initrd_start = 0;
 
-	mapped_size = memblock_mem_size(max_pfn_mapped);
-	if (ramdisk_size >= (mapped_size>>1))
-		panic("initrd too large to handle, "
-		       "disabling initrd (%lld needed, %lld available)\n",
-		       ramdisk_size, mapped_size>>1);
-
 	printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image,
 			ramdisk_end - 1);
 
-- 
2.26.2

WARNING: multiple messages have this Message-ID (diff)
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>,
	Russell King <linux@armlinux.org.uk>,
	Stafford Horne <shorne@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Will Deacon <will@kernel.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	clang-built-linux@googlegroups.com,
	iommu@lists.linux-foundation.org, linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-c6x-dev@linux-c6x.org, linux-kernel@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-mm@kvack.org,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, linux-xtensa@linux-xtensa.org,
	linuxppc-dev@lists.ozlabs.org, openrisc@lists.librecores.org,
	sparclinux@vger.kernel.org,
	uclinux-h8-devel@lists.sourceforge.jp, x86@kernel.org
Subject: [PATCH v2 13/17] x86/setup: simplify initrd relocation and reservation
Date: Sun,  2 Aug 2020 19:35:57 +0300	[thread overview]
Message-ID: <20200802163601.8189-14-rppt@kernel.org> (raw)
In-Reply-To: <20200802163601.8189-1-rppt@kernel.org>

From: Mike Rapoport <rppt@linux.ibm.com>

Currently, initrd image is reserved very early during setup and then it
might be relocated and re-reserved after the initial physical memory
mapping is created. The "late" reservation of memblock verifies that mapped
memory size exceeds the size of initrd, the checks whether the relocation
required and, if yes, relocates inirtd to a new memory allocated from
memblock and frees the old location.

The check for memory size is excessive as memblock allocation will anyway
fail if there is not enough memory. Besides, there is no point to allocate
memory from memblock using memblock_find_in_range() + memblock_reserve()
when there exists memblock_phys_alloc_range() with required functionality.

Remove the redundant check and simplify memblock allocation.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 arch/x86/kernel/setup.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a3767e74c758..d8de4053c5e8 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -262,16 +262,12 @@ static void __init relocate_initrd(void)
 	u64 area_size     = PAGE_ALIGN(ramdisk_size);
 
 	/* We need to move the initrd down into directly mapped mem */
-	relocated_ramdisk = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
-						   area_size, PAGE_SIZE);
-
+	relocated_ramdisk = memblock_phys_alloc_range(area_size, PAGE_SIZE, 0,
+						      PFN_PHYS(max_pfn_mapped));
 	if (!relocated_ramdisk)
 		panic("Cannot find place for new RAMDISK of size %lld\n",
 		      ramdisk_size);
 
-	/* Note: this includes all the mem currently occupied by
-	   the initrd, we rely on that fact to keep the data intact. */
-	memblock_reserve(relocated_ramdisk, area_size);
 	initrd_start = relocated_ramdisk + PAGE_OFFSET;
 	initrd_end   = initrd_start + ramdisk_size;
 	printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
@@ -298,13 +294,13 @@ static void __init early_reserve_initrd(void)
 
 	memblock_reserve(ramdisk_image, ramdisk_end - ramdisk_image);
 }
+
 static void __init reserve_initrd(void)
 {
 	/* Assume only end is not page aligned */
 	u64 ramdisk_image = get_ramdisk_image();
 	u64 ramdisk_size  = get_ramdisk_size();
 	u64 ramdisk_end   = PAGE_ALIGN(ramdisk_image + ramdisk_size);
-	u64 mapped_size;
 
 	if (!boot_params.hdr.type_of_loader ||
 	    !ramdisk_image || !ramdisk_size)
@@ -312,12 +308,6 @@ static void __init reserve_initrd(void)
 
 	initrd_start = 0;
 
-	mapped_size = memblock_mem_size(max_pfn_mapped);
-	if (ramdisk_size >= (mapped_size>>1))
-		panic("initrd too large to handle, "
-		       "disabling initrd (%lld needed, %lld available)\n",
-		       ramdisk_size, mapped_size>>1);
-
 	printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image,
 			ramdisk_end - 1);
 
-- 
2.26.2


WARNING: multiple messages have this Message-ID (diff)
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 13/17] x86/setup: simplify initrd relocation and reservation
Date: Sun,  2 Aug 2020 19:35:57 +0300	[thread overview]
Message-ID: <20200802163601.8189-14-rppt@kernel.org> (raw)
In-Reply-To: <20200802163601.8189-1-rppt@kernel.org>

From: Mike Rapoport <rppt@linux.ibm.com>

Currently, initrd image is reserved very early during setup and then it
might be relocated and re-reserved after the initial physical memory
mapping is created. The "late" reservation of memblock verifies that mapped
memory size exceeds the size of initrd, the checks whether the relocation
required and, if yes, relocates inirtd to a new memory allocated from
memblock and frees the old location.

The check for memory size is excessive as memblock allocation will anyway
fail if there is not enough memory. Besides, there is no point to allocate
memory from memblock using memblock_find_in_range() + memblock_reserve()
when there exists memblock_phys_alloc_range() with required functionality.

Remove the redundant check and simplify memblock allocation.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 arch/x86/kernel/setup.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a3767e74c758..d8de4053c5e8 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -262,16 +262,12 @@ static void __init relocate_initrd(void)
 	u64 area_size     = PAGE_ALIGN(ramdisk_size);
 
 	/* We need to move the initrd down into directly mapped mem */
-	relocated_ramdisk = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
-						   area_size, PAGE_SIZE);
-
+	relocated_ramdisk = memblock_phys_alloc_range(area_size, PAGE_SIZE, 0,
+						      PFN_PHYS(max_pfn_mapped));
 	if (!relocated_ramdisk)
 		panic("Cannot find place for new RAMDISK of size %lld\n",
 		      ramdisk_size);
 
-	/* Note: this includes all the mem currently occupied by
-	   the initrd, we rely on that fact to keep the data intact. */
-	memblock_reserve(relocated_ramdisk, area_size);
 	initrd_start = relocated_ramdisk + PAGE_OFFSET;
 	initrd_end   = initrd_start + ramdisk_size;
 	printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
@@ -298,13 +294,13 @@ static void __init early_reserve_initrd(void)
 
 	memblock_reserve(ramdisk_image, ramdisk_end - ramdisk_image);
 }
+
 static void __init reserve_initrd(void)
 {
 	/* Assume only end is not page aligned */
 	u64 ramdisk_image = get_ramdisk_image();
 	u64 ramdisk_size  = get_ramdisk_size();
 	u64 ramdisk_end   = PAGE_ALIGN(ramdisk_image + ramdisk_size);
-	u64 mapped_size;
 
 	if (!boot_params.hdr.type_of_loader ||
 	    !ramdisk_image || !ramdisk_size)
@@ -312,12 +308,6 @@ static void __init reserve_initrd(void)
 
 	initrd_start = 0;
 
-	mapped_size = memblock_mem_size(max_pfn_mapped);
-	if (ramdisk_size >= (mapped_size>>1))
-		panic("initrd too large to handle, "
-		       "disabling initrd (%lld needed, %lld available)\n",
-		       ramdisk_size, mapped_size>>1);
-
 	printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image,
 			ramdisk_end - 1);
 
-- 
2.26.2

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Emil Renner Berthing <kernel@esmil.dk>,
	linux-sh@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	linux-mips@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	Paul Mackerras <paulus@samba.org>,
	sparclinux@vger.kernel.org, linux-riscv@lists.infradead.org,
	Will Deacon <will@kernel.org>, Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-c6x-dev@linux-c6x.org, Baoquan He <bhe@redhat.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	x86@kernel.org, Russell King <linux@armlinux.org.uk>,
	Mike Rapoport <rppt@linux.ibm.com>,
	clang-built-linux@googlegroups.com,
	Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	uclinux-h8-devel@lists.sourceforge.jp,
	linux-xtensa@linux-xtensa.org, openrisc@lists.librecores.org,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Stafford Horne <shorne@gmail.com>,
	Hari Bathini <hbathini@linux.ibm.com>,
	Michal Simek <monstr@monstr.eu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	iommu@lists.linux-foundation.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	linuxppc-dev@lists.ozlabs.org, Mike Rapoport <rppt@kernel.org>
Subject: [PATCH v2 13/17] x86/setup: simplify initrd relocation and reservation
Date: Sun,  2 Aug 2020 19:35:57 +0300	[thread overview]
Message-ID: <20200802163601.8189-14-rppt@kernel.org> (raw)
In-Reply-To: <20200802163601.8189-1-rppt@kernel.org>

From: Mike Rapoport <rppt@linux.ibm.com>

Currently, initrd image is reserved very early during setup and then it
might be relocated and re-reserved after the initial physical memory
mapping is created. The "late" reservation of memblock verifies that mapped
memory size exceeds the size of initrd, the checks whether the relocation
required and, if yes, relocates inirtd to a new memory allocated from
memblock and frees the old location.

The check for memory size is excessive as memblock allocation will anyway
fail if there is not enough memory. Besides, there is no point to allocate
memory from memblock using memblock_find_in_range() + memblock_reserve()
when there exists memblock_phys_alloc_range() with required functionality.

Remove the redundant check and simplify memblock allocation.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 arch/x86/kernel/setup.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a3767e74c758..d8de4053c5e8 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -262,16 +262,12 @@ static void __init relocate_initrd(void)
 	u64 area_size     = PAGE_ALIGN(ramdisk_size);
 
 	/* We need to move the initrd down into directly mapped mem */
-	relocated_ramdisk = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
-						   area_size, PAGE_SIZE);
-
+	relocated_ramdisk = memblock_phys_alloc_range(area_size, PAGE_SIZE, 0,
+						      PFN_PHYS(max_pfn_mapped));
 	if (!relocated_ramdisk)
 		panic("Cannot find place for new RAMDISK of size %lld\n",
 		      ramdisk_size);
 
-	/* Note: this includes all the mem currently occupied by
-	   the initrd, we rely on that fact to keep the data intact. */
-	memblock_reserve(relocated_ramdisk, area_size);
 	initrd_start = relocated_ramdisk + PAGE_OFFSET;
 	initrd_end   = initrd_start + ramdisk_size;
 	printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
@@ -298,13 +294,13 @@ static void __init early_reserve_initrd(void)
 
 	memblock_reserve(ramdisk_image, ramdisk_end - ramdisk_image);
 }
+
 static void __init reserve_initrd(void)
 {
 	/* Assume only end is not page aligned */
 	u64 ramdisk_image = get_ramdisk_image();
 	u64 ramdisk_size  = get_ramdisk_size();
 	u64 ramdisk_end   = PAGE_ALIGN(ramdisk_image + ramdisk_size);
-	u64 mapped_size;
 
 	if (!boot_params.hdr.type_of_loader ||
 	    !ramdisk_image || !ramdisk_size)
@@ -312,12 +308,6 @@ static void __init reserve_initrd(void)
 
 	initrd_start = 0;
 
-	mapped_size = memblock_mem_size(max_pfn_mapped);
-	if (ramdisk_size >= (mapped_size>>1))
-		panic("initrd too large to handle, "
-		       "disabling initrd (%lld needed, %lld available)\n",
-		       ramdisk_size, mapped_size>>1);
-
 	printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image,
 			ramdisk_end - 1);
 
-- 
2.26.2


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Emil Renner Berthing <kernel@esmil.dk>,
	linux-sh@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	linux-mips@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	Paul Mackerras <paulus@samba.org>,
	sparclinux@vger.kernel.org, linux-riscv@lists.infradead.org,
	Will Deacon <will@kernel.org>, Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-c6x-dev@linux-c6x.org, Baoquan He <bhe@redhat.com>,
	x86@kernel.org, Russell King <linux@armlinux.org.uk>,
	Mike Rapoport <rppt@linux.ibm.com>,
	clang-built-linux@googlegroups.com,
	Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	uclinux-h8-devel@lists.sourceforge.jp,
	linux-xtensa@linux-xtensa.org, openrisc@lists.librecores.org,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Stafford Horne <shorne@gmail.com>,
	Hari Bathini <hbathini@linux.ibm.com>,
	Michal Simek <monstr@monstr.eu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	iommu@lists.linux-foundation.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	linuxppc-dev@lists.ozlabs.org, Mike Rapoport <rppt@kernel.org>
Subject: [PATCH v2 13/17] x86/setup: simplify initrd relocation and reservation
Date: Sun,  2 Aug 2020 19:35:57 +0300	[thread overview]
Message-ID: <20200802163601.8189-14-rppt@kernel.org> (raw)
In-Reply-To: <20200802163601.8189-1-rppt@kernel.org>

From: Mike Rapoport <rppt@linux.ibm.com>

Currently, initrd image is reserved very early during setup and then it
might be relocated and re-reserved after the initial physical memory
mapping is created. The "late" reservation of memblock verifies that mapped
memory size exceeds the size of initrd, the checks whether the relocation
required and, if yes, relocates inirtd to a new memory allocated from
memblock and frees the old location.

The check for memory size is excessive as memblock allocation will anyway
fail if there is not enough memory. Besides, there is no point to allocate
memory from memblock using memblock_find_in_range() + memblock_reserve()
when there exists memblock_phys_alloc_range() with required functionality.

Remove the redundant check and simplify memblock allocation.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 arch/x86/kernel/setup.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a3767e74c758..d8de4053c5e8 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -262,16 +262,12 @@ static void __init relocate_initrd(void)
 	u64 area_size     = PAGE_ALIGN(ramdisk_size);
 
 	/* We need to move the initrd down into directly mapped mem */
-	relocated_ramdisk = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
-						   area_size, PAGE_SIZE);
-
+	relocated_ramdisk = memblock_phys_alloc_range(area_size, PAGE_SIZE, 0,
+						      PFN_PHYS(max_pfn_mapped));
 	if (!relocated_ramdisk)
 		panic("Cannot find place for new RAMDISK of size %lld\n",
 		      ramdisk_size);
 
-	/* Note: this includes all the mem currently occupied by
-	   the initrd, we rely on that fact to keep the data intact. */
-	memblock_reserve(relocated_ramdisk, area_size);
 	initrd_start = relocated_ramdisk + PAGE_OFFSET;
 	initrd_end   = initrd_start + ramdisk_size;
 	printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
@@ -298,13 +294,13 @@ static void __init early_reserve_initrd(void)
 
 	memblock_reserve(ramdisk_image, ramdisk_end - ramdisk_image);
 }
+
 static void __init reserve_initrd(void)
 {
 	/* Assume only end is not page aligned */
 	u64 ramdisk_image = get_ramdisk_image();
 	u64 ramdisk_size  = get_ramdisk_size();
 	u64 ramdisk_end   = PAGE_ALIGN(ramdisk_image + ramdisk_size);
-	u64 mapped_size;
 
 	if (!boot_params.hdr.type_of_loader ||
 	    !ramdisk_image || !ramdisk_size)
@@ -312,12 +308,6 @@ static void __init reserve_initrd(void)
 
 	initrd_start = 0;
 
-	mapped_size = memblock_mem_size(max_pfn_mapped);
-	if (ramdisk_size >= (mapped_size>>1))
-		panic("initrd too large to handle, "
-		       "disabling initrd (%lld needed, %lld available)\n",
-		       ramdisk_size, mapped_size>>1);
-
 	printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image,
 			ramdisk_end - 1);
 
-- 
2.26.2


WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Emil Renner Berthing <kernel@esmil.dk>,
	linux-sh@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	linux-mips@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	Paul Mackerras <paulus@samba.org>,
	sparclinux@vger.kernel.org, linux-riscv@lists.infradead.org,
	Will Deacon <will@kernel.org>, Christoph Hellwig <hch@lst.de>,
	linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-c6x-dev@linux-c6x.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	x86@kernel.org, Russell King <linux@armlinux.org.uk>,
	Mike Rapoport <rppt@linux.ibm.com>,
	clang-built-linux@googlegroups.com,
	Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	uclinux-h8-devel@lists.sourceforge.jp,
	linux-xtensa@linux-xtensa.org, openrisc@lists.librecores.org,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Stafford Horne <shorne@gmail.com>,
	Hari Bathini <hbathini@linux.ibm.com>,
	Michal Simek <monstr@monstr.eu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	iommu@lists.linux-foundation.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	linuxppc-dev@lists.ozlabs.org, Mike Rapoport <rppt@kernel.org>
Subject: [PATCH v2 13/17] x86/setup: simplify initrd relocation and reservation
Date: Sun,  2 Aug 2020 19:35:57 +0300	[thread overview]
Message-ID: <20200802163601.8189-14-rppt@kernel.org> (raw)
In-Reply-To: <20200802163601.8189-1-rppt@kernel.org>

From: Mike Rapoport <rppt@linux.ibm.com>

Currently, initrd image is reserved very early during setup and then it
might be relocated and re-reserved after the initial physical memory
mapping is created. The "late" reservation of memblock verifies that mapped
memory size exceeds the size of initrd, the checks whether the relocation
required and, if yes, relocates inirtd to a new memory allocated from
memblock and frees the old location.

The check for memory size is excessive as memblock allocation will anyway
fail if there is not enough memory. Besides, there is no point to allocate
memory from memblock using memblock_find_in_range() + memblock_reserve()
when there exists memblock_phys_alloc_range() with required functionality.

Remove the redundant check and simplify memblock allocation.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 arch/x86/kernel/setup.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a3767e74c758..d8de4053c5e8 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -262,16 +262,12 @@ static void __init relocate_initrd(void)
 	u64 area_size     = PAGE_ALIGN(ramdisk_size);
 
 	/* We need to move the initrd down into directly mapped mem */
-	relocated_ramdisk = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
-						   area_size, PAGE_SIZE);
-
+	relocated_ramdisk = memblock_phys_alloc_range(area_size, PAGE_SIZE, 0,
+						      PFN_PHYS(max_pfn_mapped));
 	if (!relocated_ramdisk)
 		panic("Cannot find place for new RAMDISK of size %lld\n",
 		      ramdisk_size);
 
-	/* Note: this includes all the mem currently occupied by
-	   the initrd, we rely on that fact to keep the data intact. */
-	memblock_reserve(relocated_ramdisk, area_size);
 	initrd_start = relocated_ramdisk + PAGE_OFFSET;
 	initrd_end   = initrd_start + ramdisk_size;
 	printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
@@ -298,13 +294,13 @@ static void __init early_reserve_initrd(void)
 
 	memblock_reserve(ramdisk_image, ramdisk_end - ramdisk_image);
 }
+
 static void __init reserve_initrd(void)
 {
 	/* Assume only end is not page aligned */
 	u64 ramdisk_image = get_ramdisk_image();
 	u64 ramdisk_size  = get_ramdisk_size();
 	u64 ramdisk_end   = PAGE_ALIGN(ramdisk_image + ramdisk_size);
-	u64 mapped_size;
 
 	if (!boot_params.hdr.type_of_loader ||
 	    !ramdisk_image || !ramdisk_size)
@@ -312,12 +308,6 @@ static void __init reserve_initrd(void)
 
 	initrd_start = 0;
 
-	mapped_size = memblock_mem_size(max_pfn_mapped);
-	if (ramdisk_size >= (mapped_size>>1))
-		panic("initrd too large to handle, "
-		       "disabling initrd (%lld needed, %lld available)\n",
-		       ramdisk_size, mapped_size>>1);
-
 	printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image,
 			ramdisk_end - 1);
 
-- 
2.26.2

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Emil Renner Berthing <kernel@esmil.dk>,
	linux-sh@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	linux-mips@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	Paul Mackerras <paulus@samba.org>,
	sparclinux@vger.kernel.org, linux-riscv@lists.infradead.org,
	Will Deacon <will@kernel.org>, Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-c6x-dev@linux-c6x.org, Baoquan He <bhe@redhat.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	x86@kernel.org, Russell King <linux@armlinux.org.uk>,
	Mike Rapoport <rppt@linux.ibm.com>,
	clang-built-linux@googlegroups.com,
	Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	uclinux-h8-devel@lists.sourceforge.jp,
	linux-xtensa@linux-xtensa.org, openrisc@lists.librecores.org,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Stafford Horne <shorne@gmail.com>,
	Hari Bathini <hbathini@linux.ibm.com>,
	Michal Simek <monstr@monstr.eu>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	iommu@lists.linux-foundation.org,
	Palmer Dabbelt <palmer@dabbelt.com>,
	linuxppc-dev@lists.ozlabs.org, Mike Rapoport <rppt@kernel.org>
Subject: [PATCH v2 13/17] x86/setup: simplify initrd relocation and reservation
Date: Sun,  2 Aug 2020 19:35:57 +0300	[thread overview]
Message-ID: <20200802163601.8189-14-rppt@kernel.org> (raw)
In-Reply-To: <20200802163601.8189-1-rppt@kernel.org>

From: Mike Rapoport <rppt@linux.ibm.com>

Currently, initrd image is reserved very early during setup and then it
might be relocated and re-reserved after the initial physical memory
mapping is created. The "late" reservation of memblock verifies that mapped
memory size exceeds the size of initrd, the checks whether the relocation
required and, if yes, relocates inirtd to a new memory allocated from
memblock and frees the old location.

The check for memory size is excessive as memblock allocation will anyway
fail if there is not enough memory. Besides, there is no point to allocate
memory from memblock using memblock_find_in_range() + memblock_reserve()
when there exists memblock_phys_alloc_range() with required functionality.

Remove the redundant check and simplify memblock allocation.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 arch/x86/kernel/setup.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a3767e74c758..d8de4053c5e8 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -262,16 +262,12 @@ static void __init relocate_initrd(void)
 	u64 area_size     = PAGE_ALIGN(ramdisk_size);
 
 	/* We need to move the initrd down into directly mapped mem */
-	relocated_ramdisk = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
-						   area_size, PAGE_SIZE);
-
+	relocated_ramdisk = memblock_phys_alloc_range(area_size, PAGE_SIZE, 0,
+						      PFN_PHYS(max_pfn_mapped));
 	if (!relocated_ramdisk)
 		panic("Cannot find place for new RAMDISK of size %lld\n",
 		      ramdisk_size);
 
-	/* Note: this includes all the mem currently occupied by
-	   the initrd, we rely on that fact to keep the data intact. */
-	memblock_reserve(relocated_ramdisk, area_size);
 	initrd_start = relocated_ramdisk + PAGE_OFFSET;
 	initrd_end   = initrd_start + ramdisk_size;
 	printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
@@ -298,13 +294,13 @@ static void __init early_reserve_initrd(void)
 
 	memblock_reserve(ramdisk_image, ramdisk_end - ramdisk_image);
 }
+
 static void __init reserve_initrd(void)
 {
 	/* Assume only end is not page aligned */
 	u64 ramdisk_image = get_ramdisk_image();
 	u64 ramdisk_size  = get_ramdisk_size();
 	u64 ramdisk_end   = PAGE_ALIGN(ramdisk_image + ramdisk_size);
-	u64 mapped_size;
 
 	if (!boot_params.hdr.type_of_loader ||
 	    !ramdisk_image || !ramdisk_size)
@@ -312,12 +308,6 @@ static void __init reserve_initrd(void)
 
 	initrd_start = 0;
 
-	mapped_size = memblock_mem_size(max_pfn_mapped);
-	if (ramdisk_size >= (mapped_size>>1))
-		panic("initrd too large to handle, "
-		       "disabling initrd (%lld needed, %lld available)\n",
-		       ramdisk_size, mapped_size>>1);
-
 	printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image,
 			ramdisk_end - 1);
 
-- 
2.26.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: openrisc@lists.librecores.org
Subject: [OpenRISC] [PATCH v2 13/17] x86/setup: simplify initrd relocation and reservation
Date: Sun,  2 Aug 2020 19:35:57 +0300	[thread overview]
Message-ID: <20200802163601.8189-14-rppt@kernel.org> (raw)
In-Reply-To: <20200802163601.8189-1-rppt@kernel.org>

From: Mike Rapoport <rppt@linux.ibm.com>

Currently, initrd image is reserved very early during setup and then it
might be relocated and re-reserved after the initial physical memory
mapping is created. The "late" reservation of memblock verifies that mapped
memory size exceeds the size of initrd, the checks whether the relocation
required and, if yes, relocates inirtd to a new memory allocated from
memblock and frees the old location.

The check for memory size is excessive as memblock allocation will anyway
fail if there is not enough memory. Besides, there is no point to allocate
memory from memblock using memblock_find_in_range() + memblock_reserve()
when there exists memblock_phys_alloc_range() with required functionality.

Remove the redundant check and simplify memblock allocation.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 arch/x86/kernel/setup.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a3767e74c758..d8de4053c5e8 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -262,16 +262,12 @@ static void __init relocate_initrd(void)
 	u64 area_size     = PAGE_ALIGN(ramdisk_size);
 
 	/* We need to move the initrd down into directly mapped mem */
-	relocated_ramdisk = memblock_find_in_range(0, PFN_PHYS(max_pfn_mapped),
-						   area_size, PAGE_SIZE);
-
+	relocated_ramdisk = memblock_phys_alloc_range(area_size, PAGE_SIZE, 0,
+						      PFN_PHYS(max_pfn_mapped));
 	if (!relocated_ramdisk)
 		panic("Cannot find place for new RAMDISK of size %lld\n",
 		      ramdisk_size);
 
-	/* Note: this includes all the mem currently occupied by
-	   the initrd, we rely on that fact to keep the data intact. */
-	memblock_reserve(relocated_ramdisk, area_size);
 	initrd_start = relocated_ramdisk + PAGE_OFFSET;
 	initrd_end   = initrd_start + ramdisk_size;
 	printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
@@ -298,13 +294,13 @@ static void __init early_reserve_initrd(void)
 
 	memblock_reserve(ramdisk_image, ramdisk_end - ramdisk_image);
 }
+
 static void __init reserve_initrd(void)
 {
 	/* Assume only end is not page aligned */
 	u64 ramdisk_image = get_ramdisk_image();
 	u64 ramdisk_size  = get_ramdisk_size();
 	u64 ramdisk_end   = PAGE_ALIGN(ramdisk_image + ramdisk_size);
-	u64 mapped_size;
 
 	if (!boot_params.hdr.type_of_loader ||
 	    !ramdisk_image || !ramdisk_size)
@@ -312,12 +308,6 @@ static void __init reserve_initrd(void)
 
 	initrd_start = 0;
 
-	mapped_size = memblock_mem_size(max_pfn_mapped);
-	if (ramdisk_size >= (mapped_size>>1))
-		panic("initrd too large to handle, "
-		       "disabling initrd (%lld needed, %lld available)\n",
-		       ramdisk_size, mapped_size>>1);
-
 	printk(KERN_INFO "RAMDISK: [mem %#010llx-%#010llx]\n", ramdisk_image,
 			ramdisk_end - 1);
 
-- 
2.26.2


  parent reply	other threads:[~2020-08-02 16:35 UTC|newest]

Thread overview: 276+ 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 ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35 ` Mike Rapoport
2020-08-02 16:35 ` Mike Rapoport
2020-08-02 16:35 ` Mike Rapoport
2020-08-02 16:35 ` Mike Rapoport
2020-08-02 16:35 ` Mike Rapoport
2020-08-02 16:35 ` Mike Rapoport
2020-08-02 16:35 ` [PATCH v2 01/17] KVM: PPC: Book3S HV: simplify kvm_cma_reserve() Mike Rapoport
2020-08-02 16:35   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-04 13:53   ` Daniel Axtens
2020-08-04 13:53     ` [OpenRISC] " Daniel Axtens
2020-08-04 13:53     ` Daniel Axtens
2020-08-04 13:53     ` Daniel Axtens
2020-08-04 13:53     ` Daniel Axtens
2020-08-04 13:53     ` Daniel Axtens
2020-08-04 13:53     ` Daniel Axtens
2020-08-04 13:53     ` Daniel Axtens
2020-08-04 13:53     ` Daniel Axtens
2020-08-02 16:35 ` [PATCH v2 02/17] dma-contiguous: simplify cma_early_percent_memory() Mike Rapoport
2020-08-02 16:35   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-05  3:50   ` Baoquan He
2020-08-05  3:50     ` [OpenRISC] " Baoquan He
2020-08-05  3:50     ` Baoquan He
2020-08-05  3:50     ` Baoquan He
2020-08-05  3:50     ` Baoquan He
2020-08-05  3:50     ` Baoquan He
2020-08-05  3:50     ` Baoquan He
2020-08-05  3:50     ` 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   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35 ` [PATCH v2 04/17] arm64: numa: simplify dummy_numa_init() Mike Rapoport
2020-08-02 16:35   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` 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   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35 ` [PATCH v2 06/17] riscv: drop unneeded node initialization Mike Rapoport
2020-08-02 16:35   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` 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   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` 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   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` 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   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` 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   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` 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-02 16:35   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-05  3:57   ` Baoquan He
2020-08-05  3:57     ` [OpenRISC] " Baoquan He
2020-08-05  3:57     ` Baoquan He
2020-08-05  3:57     ` Baoquan He
2020-08-05  3:57     ` Baoquan He
2020-08-05  3:57     ` Baoquan He
2020-08-05  3:57     ` Baoquan He
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-02 16:35   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-03 17:19   ` kernel test robot
2020-08-05 11:00   ` Thomas Bogendoerfer
2020-08-05 11:00     ` [OpenRISC] " Thomas Bogendoerfer
2020-08-05 11:00     ` Thomas Bogendoerfer
2020-08-05 11:00     ` Thomas Bogendoerfer
2020-08-05 11:00     ` Thomas Bogendoerfer
2020-08-05 11:00     ` Thomas Bogendoerfer
2020-08-05 11:00     ` Thomas Bogendoerfer
2020-08-05 11:00     ` Thomas Bogendoerfer
2020-08-02 16:35 ` Mike Rapoport [this message]
2020-08-02 16:35   ` [OpenRISC] [PATCH v2 13/17] x86/setup: simplify initrd relocation and reservation Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 18:01   ` Ingo Molnar
2020-08-02 18:01     ` [OpenRISC] " Ingo Molnar
2020-08-02 18:01     ` Ingo Molnar
2020-08-02 18:01     ` Ingo Molnar
2020-08-02 18:01     ` Ingo Molnar
2020-08-02 18:01     ` Ingo Molnar
2020-08-02 18:01     ` Ingo Molnar
2020-08-02 18:01     ` Ingo Molnar
2020-08-05  4:20   ` Baoquan He
2020-08-05  4:20     ` [OpenRISC] " Baoquan He
2020-08-05  4:20     ` Baoquan He
2020-08-05  4:20     ` Baoquan He
2020-08-05  4:20     ` Baoquan He
2020-08-05  4:20     ` Baoquan He
2020-08-05  4:20     ` Baoquan He
2020-08-05  4:20     ` Baoquan He
2020-08-05  5:59     ` Mike Rapoport
2020-08-05  5:59       ` [OpenRISC] " Mike Rapoport
2020-08-05  5:59       ` Mike Rapoport
2020-08-05  5:59       ` Mike Rapoport
2020-08-05  5:59       ` Mike Rapoport
2020-08-05  5:59       ` Mike Rapoport
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 16:35   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 18:02   ` Ingo Molnar
2020-08-02 18:02     ` [OpenRISC] " Ingo Molnar
2020-08-02 18:02     ` Ingo Molnar
2020-08-02 18:02     ` Ingo Molnar
2020-08-02 18:02     ` Ingo Molnar
2020-08-02 18:02     ` Ingo Molnar
2020-08-02 18:02     ` Ingo Molnar
2020-08-02 18:02     ` Ingo Molnar
2020-08-05  6:00   ` Baoquan He
2020-08-05  6:00     ` [OpenRISC] " Baoquan He
2020-08-05  6:00     ` Baoquan He
2020-08-05  6:00     ` Baoquan He
2020-08-05  6:00     ` Baoquan He
2020-08-05  6:00     ` Baoquan He
2020-08-05  6:00     ` Baoquan He
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-02 16:35   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-02 16:35   ` Mike Rapoport
2020-08-05  8:29   ` Baoquan He
2020-08-05  8:29     ` [OpenRISC] " Baoquan He
2020-08-05  8:29     ` Baoquan He
2020-08-05  8:29     ` Baoquan He
2020-08-05  8:29     ` Baoquan He
2020-08-05  8:29     ` Baoquan He
2020-08-05  8:29     ` Baoquan He
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-02 16:36     ` [OpenRISC] " Mike Rapoport
2020-08-02 16:36     ` Mike Rapoport
2020-08-02 16:36     ` Mike Rapoport
2020-08-02 16:36     ` Mike Rapoport
2020-08-02 16:36     ` Mike Rapoport
2020-08-02 16:36     ` Mike Rapoport
2020-08-02 16:36     ` Mike Rapoport
2020-08-05  9:11     ` Baoquan He
2020-08-05  9:11       ` [OpenRISC] " Baoquan He
2020-08-05  9:11       ` Baoquan He
2020-08-05  9:11       ` Baoquan He
2020-08-05  9:11       ` Baoquan He
2020-08-05  9:11       ` Baoquan He
2020-08-05  9:11       ` Baoquan He
2020-08-05  9:11       ` Baoquan He
2020-08-05 17:11     ` Miguel Ojeda
2020-08-05 17:11       ` [OpenRISC] " Miguel Ojeda
2020-08-05 17:11       ` Miguel Ojeda
2020-08-05 17:11       ` Miguel Ojeda
2020-08-05 17:11       ` Miguel Ojeda
2020-08-05 17:11       ` Miguel Ojeda
2020-08-05 17:11       ` Miguel Ojeda
2020-08-05 17:11       ` Miguel Ojeda
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 16:36   ` [OpenRISC] " Mike Rapoport
2020-08-02 16:36   ` Mike Rapoport
2020-08-02 16:36   ` Mike Rapoport
2020-08-02 16:36   ` Mike Rapoport
2020-08-02 16:36   ` Mike Rapoport
2020-08-02 16:36   ` Mike Rapoport
2020-08-02 16:36   ` Mike Rapoport
2020-08-02 18:03   ` Ingo Molnar
2020-08-02 18:03     ` [OpenRISC] " Ingo Molnar
2020-08-02 18:03     ` Ingo Molnar
2020-08-02 18:03     ` Ingo Molnar
2020-08-02 18:03     ` Ingo Molnar
2020-08-02 18:03     ` Ingo Molnar
2020-08-02 18:03     ` Ingo Molnar
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  9:29       ` [OpenRISC] " Baoquan He
2020-08-05  9:29       ` Baoquan He
2020-08-05  9:29       ` Baoquan He
2020-08-05  9:29       ` Baoquan He
2020-08-05  9:29       ` Baoquan He
2020-08-05  9:29       ` Baoquan He
2020-08-05  9:29       ` Baoquan He
2020-08-05 10:58   ` Thomas Bogendoerfer
2020-08-05 10:58     ` [OpenRISC] " Thomas Bogendoerfer
2020-08-05 10:58     ` Thomas Bogendoerfer
2020-08-05 10:58     ` Thomas Bogendoerfer
2020-08-05 10:58     ` Thomas Bogendoerfer
2020-08-05 10:58     ` Thomas Bogendoerfer
2020-08-05 10:58     ` Thomas Bogendoerfer
2020-08-05 10:58     ` Thomas Bogendoerfer
2020-08-05 17:10   ` Miguel Ojeda
2020-08-05 17:10     ` [OpenRISC] " Miguel Ojeda
2020-08-05 17:10     ` Miguel Ojeda
2020-08-05 17:10     ` Miguel Ojeda
2020-08-05 17:10     ` Miguel Ojeda
2020-08-05 17:10     ` Miguel Ojeda
2020-08-05 17:10     ` Miguel Ojeda
2020-08-05 17:10     ` Miguel Ojeda
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-14-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
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.