xpmem: Use correct process_vm in xpmem functions
This reverts commit 29d27b7c8d.
Change-Id: I1863cddcffa67c60e5f93d874447db9919e519dc
This commit is contained in:
committed by
Masamichi Takagi
parent
63443383e9
commit
4ac9dcdccd
@@ -1421,10 +1421,9 @@ static void xpmem_detach_att(
|
|||||||
|
|
||||||
XPMEM_DEBUG("call: apid=0x%lx, att=0x%p", ap->apid, att);
|
XPMEM_DEBUG("call: apid=0x%lx, att=0x%p", ap->apid, att);
|
||||||
|
|
||||||
XPMEM_DEBUG("detaching current->vm=0x%p, att->vm=0x%p",
|
XPMEM_DEBUG("detaching att->vm=0x%p", (void *)att->vm);
|
||||||
(void *)cpu_local_var(current)->vm, (void *)att->vm);
|
|
||||||
|
|
||||||
vm = cpu_local_var(current)->vm ? cpu_local_var(current)->vm : att->vm;
|
vm = att->vm;
|
||||||
|
|
||||||
ihk_rwspinlock_read_lock_noirq(&vm->memory_range_lock);
|
ihk_rwspinlock_read_lock_noirq(&vm->memory_range_lock);
|
||||||
|
|
||||||
@@ -1438,7 +1437,7 @@ static void xpmem_detach_att(
|
|||||||
}
|
}
|
||||||
att->flags |= XPMEM_FLAG_DESTROYING;
|
att->flags |= XPMEM_FLAG_DESTROYING;
|
||||||
|
|
||||||
range = lookup_process_memory_range(cpu_local_var(current)->vm,
|
range = lookup_process_memory_range(vm,
|
||||||
att->at_vaddr, att->at_vaddr + 1);
|
att->at_vaddr, att->at_vaddr + 1);
|
||||||
|
|
||||||
if (!range || range->start > att->at_vaddr) {
|
if (!range || range->start > att->at_vaddr) {
|
||||||
@@ -1475,8 +1474,7 @@ static void xpmem_detach_att(
|
|||||||
|
|
||||||
XPMEM_DEBUG("xpmem_vm_munmap(): start=0x%lx, len=0x%lx",
|
XPMEM_DEBUG("xpmem_vm_munmap(): start=0x%lx, len=0x%lx",
|
||||||
range->start, att->at_size);
|
range->start, att->at_size);
|
||||||
ret = xpmem_vm_munmap(cpu_local_var(current)->vm, (void *)range->start,
|
ret = xpmem_vm_munmap(vm, (void *)range->start, att->at_size);
|
||||||
att->at_size);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
ekprintf("%s: ERROR: xpmem_vm_munmap() failed %d\n",
|
ekprintf("%s: ERROR: xpmem_vm_munmap() failed %d\n",
|
||||||
__FUNCTION__, ret);
|
__FUNCTION__, ret);
|
||||||
@@ -1673,8 +1671,7 @@ int xpmem_remove_process_memory_range(
|
|||||||
|
|
||||||
xpmem_att_ref(att);
|
xpmem_att_ref(att);
|
||||||
|
|
||||||
ihk_rwspinlock_read_lock_noirq(
|
ihk_rwspinlock_read_lock_noirq(&vm->memory_range_lock);
|
||||||
&cpu_local_var(current)->vm->memory_range_lock);
|
|
||||||
|
|
||||||
mcs_rwlock_writer_lock(&att->at_lock, &at_lock);
|
mcs_rwlock_writer_lock(&att->at_lock, &at_lock);
|
||||||
|
|
||||||
@@ -1711,7 +1708,7 @@ int xpmem_remove_process_memory_range(
|
|||||||
else {
|
else {
|
||||||
remaining_vaddr = vmr->end;
|
remaining_vaddr = vmr->end;
|
||||||
remaining_vmr = lookup_process_memory_range(
|
remaining_vmr = lookup_process_memory_range(
|
||||||
cpu_local_var(current)->vm, remaining_vaddr - 1,
|
vm, remaining_vaddr - 1,
|
||||||
remaining_vaddr);
|
remaining_vaddr);
|
||||||
if (!remaining_vmr) {
|
if (!remaining_vmr) {
|
||||||
ekprintf("%s: ERROR: vm_range is NULL\n", __FUNCTION__);
|
ekprintf("%s: ERROR: vm_range is NULL\n", __FUNCTION__);
|
||||||
@@ -1732,7 +1729,7 @@ int xpmem_remove_process_memory_range(
|
|||||||
}
|
}
|
||||||
|
|
||||||
remaining_vmr = lookup_process_memory_range(
|
remaining_vmr = lookup_process_memory_range(
|
||||||
cpu_local_var(current)->vm, remaining_vaddr,
|
vm, remaining_vaddr,
|
||||||
remaining_vaddr + 1);
|
remaining_vaddr + 1);
|
||||||
if (!remaining_vmr) {
|
if (!remaining_vmr) {
|
||||||
ekprintf("%s: ERROR: vm_range is NULL\n", __FUNCTION__);
|
ekprintf("%s: ERROR: vm_range is NULL\n", __FUNCTION__);
|
||||||
@@ -1756,8 +1753,7 @@ int xpmem_remove_process_memory_range(
|
|||||||
out:
|
out:
|
||||||
mcs_rwlock_writer_unlock(&att->at_lock, &at_lock);
|
mcs_rwlock_writer_unlock(&att->at_lock, &at_lock);
|
||||||
|
|
||||||
ihk_rwspinlock_read_unlock_noirq(
|
ihk_rwspinlock_read_unlock_noirq(&vm->memory_range_lock);
|
||||||
&cpu_local_var(current)->vm->memory_range_lock);
|
|
||||||
|
|
||||||
xpmem_att_deref(att);
|
xpmem_att_deref(att);
|
||||||
|
|
||||||
|
|||||||
184
test/issues/1259/aarch64_result.log
Normal file
184
test/issues/1259/aarch64_result.log
Normal file
@@ -0,0 +1,184 @@
|
|||||||
|
*** C1259T01 start *******************************
|
||||||
|
** xpmem_attach to Huge mapped memory range
|
||||||
|
** end of range is aligned with Large page size
|
||||||
|
pageshift: 21
|
||||||
|
** [ OK ] seg_addr (100000400000) is allocated until xpmem_attach
|
||||||
|
** [ OK ] xpmem_addr (100000400000) is allocated using large pages
|
||||||
|
pageshift: 29
|
||||||
|
** [ OK ] seg_addr (100020000000) is allocated until xpmem_attach
|
||||||
|
** [ OK ] xpmem_addr (100020000000) is allocated using large pages
|
||||||
|
pageshift: 34
|
||||||
|
** [ OK ] seg_addr (100400000000) is allocated until xpmem_attach
|
||||||
|
** [ OK ] xpmem_addr (100400000000) is allocated using large pages
|
||||||
|
*** C1259T01: PASSED
|
||||||
|
|
||||||
|
*** C1259T02 start *******************************
|
||||||
|
** xpmem_attach to Huge mapped memory range
|
||||||
|
** end of range is NOT aligned with Large page size
|
||||||
|
pageshift: 21
|
||||||
|
** [ OK ] seg_addr (100000400000) is allocated until xpmem_attach
|
||||||
|
** [ OK ] xpmem_addr (100000400000) is allocated using large pages
|
||||||
|
pageshift: 29
|
||||||
|
** [ OK ] seg_addr (100020000000) is allocated until xpmem_attach
|
||||||
|
** [ OK ] xpmem_addr (100020000000) is allocated using large pages
|
||||||
|
pageshift: 34
|
||||||
|
** [ OK ] seg_addr (100400000000) is allocated until xpmem_attach
|
||||||
|
** [ OK ] xpmem_addr (100400000000) is allocated using large pages
|
||||||
|
*** C1259T02: PASSED
|
||||||
|
|
||||||
|
*** C1259T03 start *******************************
|
||||||
|
** xpmem_attach to small mapped memory range
|
||||||
|
pageshift: small page
|
||||||
|
** [ OK ] xpmem_addr (100000210000) is allocated using small pages
|
||||||
|
*** C1259T03: PASSED
|
||||||
|
|
||||||
|
*** C1259T04 start *******************************
|
||||||
|
** xpmem_attach to multi pagesize range
|
||||||
|
pageshift: 21
|
||||||
|
** [ OK ] xpmem_addr (100000600000) is allocated using large pages
|
||||||
|
*** C1259T04: PASSED
|
||||||
|
|
||||||
|
*** C1259T05 start *******************************
|
||||||
|
** xpmem testsuite
|
||||||
|
XPMEM version = 26003
|
||||||
|
|
||||||
|
==== test_base STARTS ====
|
||||||
|
xpmem_proc1: mypid = 38514
|
||||||
|
xpmem_proc1: sharing 262144 bytes
|
||||||
|
xpmem_proc1: segid = 200009672 at 0x100000210000
|
||||||
|
|
||||||
|
xpmem_proc2: mypid = 38711
|
||||||
|
xpmem_proc2: segid = 200009672
|
||||||
|
xpmem_proc2: attached at 0x100000210000
|
||||||
|
xpmem_proc2: adding 1 to all elems
|
||||||
|
|
||||||
|
xpmem_proc1: verifying data...done
|
||||||
|
==== test_base PASSED ====
|
||||||
|
|
||||||
|
==== test_two_attach STARTS ====
|
||||||
|
xpmem_proc1: mypid = 39028
|
||||||
|
xpmem_proc1: sharing 262144 bytes
|
||||||
|
xpmem_proc1: segid = 200009874 at 0x100000210000
|
||||||
|
|
||||||
|
xpmem_proc2: mypid = 39233
|
||||||
|
xpmem_proc2: segid = 200009874
|
||||||
|
xpmem_proc2: attached at 0x100000210000
|
||||||
|
xpmem_proc2: attached at 0x100000250000
|
||||||
|
xpmem_proc2: adding 1 to all elems using 0x100000210000
|
||||||
|
xpmem_proc2: adding 1 to all elems using 0x100000250000
|
||||||
|
|
||||||
|
xpmem_proc1: verifying data...done
|
||||||
|
==== test_two_attach PASSED ====
|
||||||
|
|
||||||
|
==== test_two_shares STARTS ====
|
||||||
|
xpmem_proc1: mypid = 39429
|
||||||
|
xpmem_proc1: sharing 2 segments, 262144 bytes each
|
||||||
|
xpmem_proc1: segid[0] = 200009a05 at 0x100000210000
|
||||||
|
xpmem_proc1: segid[1] = 400009a05 at 0x100000250000
|
||||||
|
|
||||||
|
xpmem_proc2: mypid = 39625
|
||||||
|
xpmem_proc2: segid[0] = 200009a05
|
||||||
|
xpmem_proc2: segid[1] = 400009a05
|
||||||
|
xpmem_proc2: data[0] attached at 0x100000210000
|
||||||
|
xpmem_proc2: data[1] attached at 0x100000250000
|
||||||
|
xpmem_proc2: adding 1 to all elems using 0x100000210000
|
||||||
|
xpmem_proc2: adding 1 to all elems using 0x100000250000
|
||||||
|
|
||||||
|
xpmem_proc1: verifying data...done
|
||||||
|
==== test_two_shares PASSED ====
|
||||||
|
|
||||||
|
==== test_fork STARTS ====
|
||||||
|
xpmem_proc1: mypid = 39831
|
||||||
|
xpmem_proc1: sharing 262144 bytes
|
||||||
|
xpmem_proc1: segid = 200009b97 at 0x100000210000
|
||||||
|
|
||||||
|
xpmem_proc2: mypid = 40027
|
||||||
|
xpmem_proc2: segid = 200009b97
|
||||||
|
xpmem_proc2: attached at 0x100000220000
|
||||||
|
xpmem_proc2: reading to pin pages
|
||||||
|
xpmem_proc2: waiting for COW...
|
||||||
|
|
||||||
|
xpmem_proc1: forking a child
|
||||||
|
xpmem_proc1: adding 1 to all elems to induce COW
|
||||||
|
|
||||||
|
xpmem_child: hello from pid 40224
|
||||||
|
|
||||||
|
xpmem_proc1: give control back to xpmem_proc2
|
||||||
|
|
||||||
|
xpmem_proc2: adding 1 to all elems
|
||||||
|
|
||||||
|
xpmem_proc1: verifying data...done
|
||||||
|
==== test_fork PASSED ====
|
||||||
|
|
||||||
|
*** XTP_001 start ***
|
||||||
|
[OK] xpmem_make
|
||||||
|
[OK] xpmem_get
|
||||||
|
[OK] xpmem_attach
|
||||||
|
[OK] xpmem_detach
|
||||||
|
[OK] xpmem_remove
|
||||||
|
*** XTP_001 PASSED
|
||||||
|
|
||||||
|
*** XTP_002 start ***
|
||||||
|
[OK] xpmem_make in child
|
||||||
|
[OK] xpmem_get in child
|
||||||
|
[OK] xpmem_attach in child
|
||||||
|
[OK] xpmem_detach in child
|
||||||
|
[OK] xpmem_remove in child
|
||||||
|
*** XTP_002 PASSED
|
||||||
|
|
||||||
|
*** XTP_003 start ***
|
||||||
|
[OK] xpmem_make
|
||||||
|
[OK] xpmem_get in child
|
||||||
|
[OK] xpmem_attach in child
|
||||||
|
[OK] xpmem_detach in child
|
||||||
|
[OK] validate TEST_VAL
|
||||||
|
[OK] xpmem_remove
|
||||||
|
*** XTP_003 PASSED
|
||||||
|
|
||||||
|
*** XTP_004 start ***
|
||||||
|
[OK] xpmem_make
|
||||||
|
[OK] xpmem_get in child
|
||||||
|
[OK] xpmem_attach in child
|
||||||
|
[OK] xpmem_detach in child
|
||||||
|
[OK] validate TEST_VAL
|
||||||
|
[OK] xpmem_remove
|
||||||
|
*** XTP_004 PASSED
|
||||||
|
|
||||||
|
*** XTP_005 start ***
|
||||||
|
[OK] xpmem_make
|
||||||
|
[OK] xpmem_get in child
|
||||||
|
[OK] xpmem_attach in child
|
||||||
|
[OK] validate TEST_VAL
|
||||||
|
[OK] xpmem_remove
|
||||||
|
*** XTP_005 PASSED
|
||||||
|
|
||||||
|
*** XTP_006 start ***
|
||||||
|
[OK] xpmem_make
|
||||||
|
[OK] xpmem_get in child failed (parent process exited already
|
||||||
|
*** XTP_006 PASSED
|
||||||
|
|
||||||
|
*** XTP_007 start ***
|
||||||
|
[OK] xpmem_make failed (invalid address)
|
||||||
|
[OK] xpmem_make succeed(do twice to same address)
|
||||||
|
*** XTP_007 PASSED
|
||||||
|
|
||||||
|
*** XTP_008 start ***
|
||||||
|
[OK] xpmem_get in child failed (invalid segid)
|
||||||
|
[OK] xpmem_get in child (do twice to same segid
|
||||||
|
*** XTP_008 PASSED
|
||||||
|
|
||||||
|
*** XTP_009 start ***
|
||||||
|
[OK] xpmem_attach in childi failed (invalid apid)
|
||||||
|
[OK] xpmem_attach in child succeed (do twice to same apid)
|
||||||
|
*** XTP_009 PASSED
|
||||||
|
|
||||||
|
*** XTP_010 start ***
|
||||||
|
[OK] xpmem_detach in child succeed (invalid address)
|
||||||
|
[OK] xpmem_detach in child succeed (do twice to same address)
|
||||||
|
*** XTP_010 PASSED
|
||||||
|
|
||||||
|
*** XTP_011 start ***
|
||||||
|
[OK] xpmem_remove failed (invalid segid)
|
||||||
|
[OK] xpmem_remove failed (do twice to same segid)
|
||||||
|
*** XTP_011 PASSED
|
||||||
|
|
||||||
178
test/issues/1259/x86_64_result.log
Normal file
178
test/issues/1259/x86_64_result.log
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
*** C1259T01 start *******************************
|
||||||
|
** xpmem_attach to Huge mapped memory range
|
||||||
|
** end of range is aligned with Large page size
|
||||||
|
pageshift: 21
|
||||||
|
** [ OK ] seg_addr (2aaaab000000) is allocated until xpmem_attach
|
||||||
|
** [ OK ] xpmem_addr (2aaaab000000) is allocated using large pages
|
||||||
|
pageshift: 30
|
||||||
|
** [ OK ] seg_addr (2aaac0000000) is allocated until xpmem_attach
|
||||||
|
** [ OK ] xpmem_addr (2aaac0000000) is allocated using large pages
|
||||||
|
*** C1259T01: PASSED
|
||||||
|
|
||||||
|
*** C1259T02 start *******************************
|
||||||
|
** xpmem_attach to Huge mapped memory range
|
||||||
|
** end of range is NOT aligned with Large page size
|
||||||
|
pageshift: 21
|
||||||
|
** [ OK ] seg_addr (2aaaab000000) is allocated until xpmem_attach
|
||||||
|
** [ OK ] xpmem_addr (2aaaab000000) is allocated using large pages
|
||||||
|
pageshift: 30
|
||||||
|
** [ OK ] seg_addr (2aaac0000000) is allocated until xpmem_attach
|
||||||
|
** [ OK ] xpmem_addr (2aaac0000000) is allocated using large pages
|
||||||
|
*** C1259T02: PASSED
|
||||||
|
|
||||||
|
*** C1259T03 start *******************************
|
||||||
|
** xpmem_attach to small mapped memory range
|
||||||
|
pageshift: small page
|
||||||
|
** [ OK ] xpmem_addr (2aaaaafee000) is allocated using small pages
|
||||||
|
*** C1259T03: PASSED
|
||||||
|
|
||||||
|
*** C1259T04 start *******************************
|
||||||
|
** xpmem_attach to multi pagesize range
|
||||||
|
pageshift: 21
|
||||||
|
** [ OK ] xpmem_addr (2aaaab200000) is allocated using large pages
|
||||||
|
*** C1259T04: PASSED
|
||||||
|
|
||||||
|
*** C1259T05 start *******************************
|
||||||
|
** xpmem testsuite
|
||||||
|
XPMEM version = 26003
|
||||||
|
|
||||||
|
==== test_base STARTS ====
|
||||||
|
xpmem_proc1: mypid = 20070
|
||||||
|
xpmem_proc1: sharing 16384 bytes
|
||||||
|
xpmem_proc1: segid = 200004e66 at 0x2aaaaafee000
|
||||||
|
|
||||||
|
xpmem_proc2: mypid = 20490
|
||||||
|
xpmem_proc2: segid = 200004e66
|
||||||
|
xpmem_proc2: attached at 0x2aaaaafee000
|
||||||
|
xpmem_proc2: adding 1 to all elems
|
||||||
|
|
||||||
|
xpmem_proc1: verifying data...done
|
||||||
|
==== test_base PASSED ====
|
||||||
|
|
||||||
|
==== test_two_attach STARTS ====
|
||||||
|
xpmem_proc1: mypid = 20913
|
||||||
|
xpmem_proc1: sharing 16384 bytes
|
||||||
|
xpmem_proc1: segid = 2000051b1 at 0x2aaaaafee000
|
||||||
|
|
||||||
|
xpmem_proc2: mypid = 21336
|
||||||
|
xpmem_proc2: segid = 2000051b1
|
||||||
|
xpmem_proc2: attached at 0x2aaaaafee000
|
||||||
|
xpmem_proc2: attached at 0x2aaaaaff2000
|
||||||
|
xpmem_proc2: adding 1 to all elems using 0x2aaaaafee000
|
||||||
|
xpmem_proc2: adding 1 to all elems using 0x2aaaaaff2000
|
||||||
|
|
||||||
|
xpmem_proc1: verifying data...done
|
||||||
|
==== test_two_attach PASSED ====
|
||||||
|
|
||||||
|
==== test_two_shares STARTS ====
|
||||||
|
xpmem_proc1: mypid = 21758
|
||||||
|
xpmem_proc1: sharing 2 segments, 16384 bytes each
|
||||||
|
xpmem_proc1: segid[0] = 2000054fe at 0x2aaaaafee000
|
||||||
|
xpmem_proc1: segid[1] = 4000054fe at 0x2aaaaaff2000
|
||||||
|
|
||||||
|
xpmem_proc2: mypid = 22179
|
||||||
|
xpmem_proc2: segid[0] = 2000054fe
|
||||||
|
xpmem_proc2: segid[1] = 4000054fe
|
||||||
|
xpmem_proc2: data[0] attached at 0x2aaaaafee000
|
||||||
|
xpmem_proc2: data[1] attached at 0x2aaaaaff2000
|
||||||
|
xpmem_proc2: adding 1 to all elems using 0x2aaaaafee000
|
||||||
|
xpmem_proc2: adding 1 to all elems using 0x2aaaaaff2000
|
||||||
|
|
||||||
|
xpmem_proc1: verifying data...done
|
||||||
|
==== test_two_shares PASSED ====
|
||||||
|
|
||||||
|
==== test_fork STARTS ====
|
||||||
|
xpmem_proc1: mypid = 22599
|
||||||
|
xpmem_proc1: sharing 16384 bytes
|
||||||
|
xpmem_proc1: segid = 200005847 at 0x2aaaaafee000
|
||||||
|
|
||||||
|
xpmem_proc2: mypid = 23022
|
||||||
|
xpmem_proc2: segid = 200005847
|
||||||
|
xpmem_proc2: attached at 0x2aaaaafef000
|
||||||
|
xpmem_proc2: reading to pin pages
|
||||||
|
xpmem_proc2: waiting for COW...
|
||||||
|
|
||||||
|
xpmem_proc1: forking a child
|
||||||
|
xpmem_proc1: adding 1 to all elems to induce COW
|
||||||
|
|
||||||
|
xpmem_proc1: give control back to xpmem_proc2
|
||||||
|
xpmem_child: hello from pid 23443
|
||||||
|
|
||||||
|
|
||||||
|
xpmem_proc2: adding 1 to all elems
|
||||||
|
|
||||||
|
xpmem_proc1: verifying data...done
|
||||||
|
==== test_fork PASSED ====
|
||||||
|
|
||||||
|
*** XTP_001 start ***
|
||||||
|
[OK] xpmem_make
|
||||||
|
[OK] xpmem_get
|
||||||
|
[OK] xpmem_attach
|
||||||
|
[OK] xpmem_detach
|
||||||
|
[OK] xpmem_remove
|
||||||
|
*** XTP_001 PASSED
|
||||||
|
|
||||||
|
*** XTP_002 start ***
|
||||||
|
[OK] xpmem_make in child
|
||||||
|
[OK] xpmem_get in child
|
||||||
|
[OK] xpmem_attach in child
|
||||||
|
[OK] xpmem_detach in child
|
||||||
|
[OK] xpmem_remove in child
|
||||||
|
*** XTP_002 PASSED
|
||||||
|
|
||||||
|
*** XTP_003 start ***
|
||||||
|
[OK] xpmem_make
|
||||||
|
[OK] xpmem_get in child
|
||||||
|
[OK] xpmem_attach in child
|
||||||
|
[OK] xpmem_detach in child
|
||||||
|
[OK] validate TEST_VAL
|
||||||
|
[OK] xpmem_remove
|
||||||
|
*** XTP_003 PASSED
|
||||||
|
|
||||||
|
*** XTP_004 start ***
|
||||||
|
[OK] xpmem_make
|
||||||
|
[OK] xpmem_get in child
|
||||||
|
[OK] xpmem_attach in child
|
||||||
|
[OK] xpmem_detach in child
|
||||||
|
[OK] validate TEST_VAL
|
||||||
|
[OK] xpmem_remove
|
||||||
|
*** XTP_004 PASSED
|
||||||
|
|
||||||
|
*** XTP_005 start ***
|
||||||
|
[OK] xpmem_make
|
||||||
|
[OK] xpmem_get in child
|
||||||
|
[OK] xpmem_attach in child
|
||||||
|
[OK] validate TEST_VAL
|
||||||
|
[OK] xpmem_remove
|
||||||
|
*** XTP_005 PASSED
|
||||||
|
|
||||||
|
*** XTP_006 start ***
|
||||||
|
[OK] xpmem_make
|
||||||
|
[OK] xpmem_get in child failed (parent process exited already
|
||||||
|
*** XTP_006 PASSED
|
||||||
|
|
||||||
|
*** XTP_007 start ***
|
||||||
|
[OK] xpmem_make failed (invalid address)
|
||||||
|
[OK] xpmem_make succeed(do twice to same address)
|
||||||
|
*** XTP_007 PASSED
|
||||||
|
|
||||||
|
*** XTP_008 start ***
|
||||||
|
[OK] xpmem_get in child failed (invalid segid)
|
||||||
|
[OK] xpmem_get in child (do twice to same segid
|
||||||
|
*** XTP_008 PASSED
|
||||||
|
|
||||||
|
*** XTP_009 start ***
|
||||||
|
[OK] xpmem_attach in childi failed (invalid apid)
|
||||||
|
[OK] xpmem_attach in child succeed (do twice to same apid)
|
||||||
|
*** XTP_009 PASSED
|
||||||
|
|
||||||
|
*** XTP_010 start ***
|
||||||
|
[OK] xpmem_detach in child succeed (invalid address)
|
||||||
|
[OK] xpmem_detach in child succeed (do twice to same address)
|
||||||
|
*** XTP_010 PASSED
|
||||||
|
|
||||||
|
*** XTP_011 start ***
|
||||||
|
[OK] xpmem_remove failed (invalid segid)
|
||||||
|
[OK] xpmem_remove failed (do twice to same segid)
|
||||||
|
*** XTP_011 PASSED
|
||||||
|
|
||||||
Reference in New Issue
Block a user