Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests/sys/uvm Fixed issues with uvm_page_physunload_delete_e...



details:   https://anonhg.NetBSD.org/src/rev/d40d066b93c1
branches:  trunk
changeset: 447569:d40d066b93c1
user:      fox <fox%NetBSD.org@localhost>
date:      Wed Jan 16 13:54:17 2019 +0000

description:
Fixed issues with uvm_page_physunload_delete_end test case.

1. "avail_start" and "start" were different, resulting in unreachable code in
uvm_page_physunload(), where the condition check "avail_start" < "end" fails.
The test has been fixed by setting "avail_start" and "start" to the same value.

2. If "start" is the address with end address being "start + 2", we can
unplug twice, the first paddr_t would be "start" and the second one would be
"start + 1". Modified the ATF_CHECK_EQ() to reflect these changes.

Reviewed by <cherry>

diffstat:

 tests/sys/uvm/t_uvm_physseg.c |  10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diffs (42 lines):

diff -r 3dc6aae8393c -r d40d066b93c1 tests/sys/uvm/t_uvm_physseg.c
--- a/tests/sys/uvm/t_uvm_physseg.c     Wed Jan 16 13:45:29 2019 +0000
+++ b/tests/sys/uvm/t_uvm_physseg.c     Wed Jan 16 13:54:17 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: t_uvm_physseg.c,v 1.7 2019/01/16 13:45:29 fox Exp $ */
+/* $NetBSD: t_uvm_physseg.c,v 1.8 2019/01/16 13:54:17 fox Exp $ */
 
 /*-
  * Copyright (c) 2015, 2016 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: t_uvm_physseg.c,v 1.7 2019/01/16 13:45:29 fox Exp $");
+__RCSID("$NetBSD: t_uvm_physseg.c,v 1.8 2019/01/16 13:54:17 fox Exp $");
 
 /*
  * If this line is commented out tests related to uvm_physseg_get_pmseg()
@@ -2155,7 +2155,7 @@
         */
 
        upm = uvm_page_physload(VALID_START_PFN_1, VALID_START_PFN_1 + 2,
-           VALID_AVAIL_START_PFN_1 + 1, VALID_AVAIL_START_PFN_1 + 2,
+           VALID_AVAIL_START_PFN_1, VALID_AVAIL_START_PFN_1 + 2,
            VM_FREELIST_DEFAULT);
 
        ATF_REQUIRE_EQ(1, uvm_physseg_get_entries());
@@ -2177,11 +2177,13 @@
 
        ATF_CHECK_EQ(true, uvm_page_physunload(upm, VM_FREELIST_DEFAULT, &p));
 
+       ATF_CHECK_EQ(VALID_START_PFN_1, atop(p));
+
        p = 0;
 
        ATF_CHECK_EQ(true, uvm_page_physunload(upm, VM_FREELIST_DEFAULT, &p));
 
-       ATF_CHECK_EQ(VALID_START_PFN_1 + 2, atop(p));
+       ATF_CHECK_EQ(VALID_START_PFN_1 + 1, atop(p));
 
        ATF_CHECK_EQ(1, uvm_physseg_get_entries());
 



Home | Main Index | Thread Index | Old Index