public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [Resend PATCH] x86/e820: break the loop when the region is less then current region
@ 2017-01-27  2:47 Wei Yang
  2017-01-27  8:47 ` Ingo Molnar
  0 siblings, 1 reply; 3+ messages in thread
From: Wei Yang @ 2017-01-27  2:47 UTC (permalink / raw)
  To: tglx, mingo, hpa; +Cc: x86, linux-kernel, Wei Yang

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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-01-27 18:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-27  2:47 [Resend PATCH] x86/e820: break the loop when the region is less then current region Wei Yang
2017-01-27  8:47 ` Ingo Molnar
2017-01-27 18:09   ` Wei Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox