xpmem: support large page

1. try to use as large page as possible on attach
2. pre-map resident remote pages on attach

Change-Id: I5580682a4199e94085a9bad9ce3958a0f14cdcea
This commit is contained in:
Yoshihisa Morizumi
2021-01-08 16:56:32 +09:00
committed by Masamichi Takagi
parent 3aaa5350f0
commit d2db639853
68 changed files with 4878 additions and 244 deletions

View File

@@ -1,5 +1,9 @@
*** C1259T01 start *******************************
<<<<<<< HEAD
** xpmem_attach to Huge mapped memory range
=======
** xpem_attach to Huge mapped memory range
>>>>>>> 5dfbb27... xpmem: Support large page attachment
** end of range is aligned with Large page size
pageshift: 21
** [ OK ] seg_addr (100000400000) is allocated until xpmem_attach
@@ -13,7 +17,11 @@ pageshift: 34
*** C1259T01: PASSED
*** C1259T02 start *******************************
<<<<<<< HEAD
** xpmem_attach to Huge mapped memory range
=======
** xpem_attach to Huge mapped memory range
>>>>>>> 5dfbb27... xpmem: Support large page attachment
** end of range is NOT aligned with Large page size
pageshift: 21
** [ OK ] seg_addr (100000400000) is allocated until xpmem_attach
@@ -27,15 +35,25 @@ pageshift: 34
*** C1259T02: PASSED
*** C1259T03 start *******************************
<<<<<<< HEAD
** xpmem_attach to small mapped memory range
=======
** xpem_attach to small mapped memory range
>>>>>>> 5dfbb27... xpmem: Support large page attachment
pageshift: small page
** [ OK ] xpmem_addr (100000210000) is allocated using small pages
*** C1259T03: PASSED
*** C1259T04 start *******************************
<<<<<<< HEAD
** xpmem_attach to multi pagesize range
pageshift: 21
** [ OK ] xpmem_addr (100000600000) is allocated using large pages
=======
** xpem_attach to multi pagesize range
pageshift: 21
** [ OK ] xpmem_addr (100000400000) is allocated using large pages
>>>>>>> 5dfbb27... xpmem: Support large page attachment
*** C1259T04: PASSED
*** C1259T05 start *******************************
@@ -43,12 +61,21 @@ pageshift: 21
XPMEM version = 26003
==== test_base STARTS ====
<<<<<<< HEAD
xpmem_proc1: mypid = 38514
xpmem_proc1: sharing 262144 bytes
xpmem_proc1: segid = 200009672 at 0x100000210000
xpmem_proc2: mypid = 38711
xpmem_proc2: segid = 200009672
=======
xpmem_proc1: mypid = 10105
xpmem_proc1: sharing 262144 bytes
xpmem_proc1: segid = 200002779 at 0x100000210000
xpmem_proc2: mypid = 10303
xpmem_proc2: segid = 200002779
>>>>>>> 5dfbb27... xpmem: Support large page attachment
xpmem_proc2: attached at 0x100000210000
xpmem_proc2: adding 1 to all elems
@@ -56,12 +83,22 @@ xpmem_proc1: verifying data...done
==== test_base PASSED ====
==== test_two_attach STARTS ====
<<<<<<< HEAD
xpmem_proc1: mypid = 39028
xpmem_proc1: sharing 262144 bytes
xpmem_proc1: segid = 200009874 at 0x100000210000
xpmem_proc2: mypid = 39233
xpmem_proc2: segid = 200009874
=======
xpmem_proc1: mypid = 10528
xpmem_proc1: sharing 262144 bytes
xpmem_proc1: segid = 200002920 at 0x100000210000
xpmem_proc2: line 228: 11049 Segmentation fault rm -f "$progdir/$file"
xpmem_proc2: mypid = 10733
xpmem_proc2: segid = 200002920
>>>>>>> 5dfbb27... xpmem: Support large page attachment
xpmem_proc2: attached at 0x100000210000
xpmem_proc2: attached at 0x100000250000
xpmem_proc2: adding 1 to all elems using 0x100000210000
@@ -71,6 +108,7 @@ xpmem_proc1: verifying data...done
==== test_two_attach PASSED ====
==== test_two_shares STARTS ====
<<<<<<< HEAD
xpmem_proc1: mypid = 39429
xpmem_proc1: sharing 2 segments, 262144 bytes each
xpmem_proc1: segid[0] = 200009a05 at 0x100000210000
@@ -79,6 +117,16 @@ xpmem_proc1: segid[1] = 400009a05 at 0x100000250000
xpmem_proc2: mypid = 39625
xpmem_proc2: segid[0] = 200009a05
xpmem_proc2: segid[1] = 400009a05
=======
xpmem_proc1: mypid = 11064
xpmem_proc1: sharing 2 segments, 262144 bytes each
xpmem_proc1: segid[0] = 200002b38 at 0x100000210000
xpmem_proc1: segid[1] = 400002b38 at 0x100000250000
xpmem_proc2: mypid = 11261
xpmem_proc2: segid[0] = 200002b38
xpmem_proc2: segid[1] = 400002b38
>>>>>>> 5dfbb27... xpmem: Support large page attachment
xpmem_proc2: data[0] attached at 0x100000210000
xpmem_proc2: data[1] attached at 0x100000250000
xpmem_proc2: adding 1 to all elems using 0x100000210000
@@ -88,12 +136,21 @@ xpmem_proc1: verifying data...done
==== test_two_shares PASSED ====
==== test_fork STARTS ====
<<<<<<< HEAD
xpmem_proc1: mypid = 39831
xpmem_proc1: sharing 262144 bytes
xpmem_proc1: segid = 200009b97 at 0x100000210000
xpmem_proc2: mypid = 40027
xpmem_proc2: segid = 200009b97
=======
xpmem_proc1: mypid = 11598
xpmem_proc1: sharing 262144 bytes
xpmem_proc1: segid = 200002d4e at 0x100000210000
xpmem_proc2: mypid = 11803
xpmem_proc2: segid = 200002d4e
>>>>>>> 5dfbb27... xpmem: Support large page attachment
xpmem_proc2: attached at 0x100000220000
xpmem_proc2: reading to pin pages
xpmem_proc2: waiting for COW...
@@ -101,7 +158,11 @@ xpmem_proc2: waiting for COW...
xpmem_proc1: forking a child
xpmem_proc1: adding 1 to all elems to induce COW
<<<<<<< HEAD
xpmem_child: hello from pid 40224
=======
xpmem_child: hello from pid 12004
>>>>>>> 5dfbb27... xpmem: Support large page attachment
xpmem_proc1: give control back to xpmem_proc2