[dpdk-dev,v5,13/14] test_memzone:fix finding the second smallest segment

Message ID 1416953837-15894-14-git-send-email-chaozhu@linux.vnet.ibm.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Chao Zhu Nov. 25, 2014, 10:17 p.m. UTC
  Curent implementation in test_memzone.c has bugs in finding the
second smallest memory segment. It's the last smallest memory segment,
but it's not the second smallest memory segment. This bug may cause test
failure in some cases. This patch fixes this bug.

Signed-off-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
---
 app/test/test_memzone.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)
  

Patch

diff --git a/app/test/test_memzone.c b/app/test/test_memzone.c
index 387dbbc..1658006 100644
--- a/app/test/test_memzone.c
+++ b/app/test/test_memzone.c
@@ -797,10 +797,9 @@  test_memzone_reserve_memory_in_smallest_segment(void)
 
 			/* set new smallest */
 			min_ms = ms;
-		}
-		else if (prev_min_ms == NULL) {
+		} else if ((prev_min_ms == NULL)
+			|| (prev_min_ms->len > ms->len))
 			prev_min_ms = ms;
-		}
 	}
 
 	if (min_ms == NULL || prev_min_ms == NULL) {
@@ -877,8 +876,8 @@  test_memzone_reserve_memory_with_smallest_offset(void)
 
 			/* set new smallest */
 			min_ms = ms;
-		}
-		else if (prev_min_ms == NULL) {
+		} else if ((prev_min_ms == NULL)
+			|| (prev_min_ms->len > ms->len)) {
 			prev_min_ms = ms;
 		}
 	}