Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1567873

[Resend PATCH] x86/e820: break the loop when the region is less then current region

From Wei Yang <richard.weiyang@gmail.com>
Newsgroups linux.kernel
Subject [Resend PATCH] x86/e820: break the loop when the region is less then current region
Date 2017-01-27 03:50 +0100
Message-ID <t44LT-6Tn-3@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


e820_all_mapped() iterates the e820 table to check whether a region is
mapped or not. Since the e820 table is sorted, when the region is less than
the current region, no need to continue the iteration.

The patch breaks the loop accordingly.

Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
---
 arch/x86/kernel/e820.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 90e8dde..f4fb197 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -86,10 +86,16 @@ int __init e820_all_mapped(u64 start, u64 end, unsigned type)
 	for (i = 0; i < e820->nr_map; i++) {
 		struct e820entry *ei = &e820->map[i];
 
+		/* Since the e820 table is sorted, when the region is less
+		 * than the current region, break it.
+		 */
+		if (ei->addr >= end)
+			break;
+
 		if (type && ei->type != type)
 			continue;
 		/* is the region (part) in overlap with the current region ?*/
-		if (ei->addr >= end || ei->addr + ei->size <= start)
+		if (ei->addr + ei->size <= start)
 			continue;
 
 		/* if the region is at the beginning of <start,end> we move
-- 
2.5.0

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[Resend PATCH] x86/e820: break the loop when the region is less then current region Wei Yang <richard.weiyang@gmail.com> - 2017-01-27 03:50 +0100
  Re: [Resend PATCH] x86/e820: break the loop when the region is less  then current region Ingo Molnar <mingo@kernel.org> - 2017-01-27 10:00 +0100
    Re: [Resend PATCH] x86/e820: break the loop when the region is less  then current region Wei Yang <richard.weiyang@gmail.com> - 2017-01-27 19:10 +0100

csiph-web