summaryrefslogtreecommitdiffstats
diff options
authorKonstantin Ryabitsev <konstantin@linuxfoundation.org>2024-09-26 16:21:11 -0400
committerKonstantin Ryabitsev <konstantin@linuxfoundation.org>2024-09-26 16:21:11 -0400
commit2177d7930c317502a25761a6415462e2ee7e4af3 (patch)
treed40d78459bacb8882442df18f0c00e1cef181df5
parent398c0ac4d1768c1f98731ef49578208cbfa04d98 (diff)
downloadnvdimm-master.tar.gz
Fix table formattingHEADmaster
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
-rw-r--r--source/index.rst92
1 files changed, 58 insertions, 34 deletions
diff --git a/source/index.rst b/source/index.rst
index 7155e9b..8a6107b 100644
--- a/source/index.rst
+++ b/source/index.rst
@@ -76,9 +76,7 @@ line to manually create a type 12 memory region.
Here are the additions I made for my system with 32 GiB of RAM:
1) Reserve 16 GiB of memory via the "memmap" kernel parameter in grub's
-menu.lst, using PMEM's new "!" specifier:
-
-::
+menu.lst, using PMEM's new "!" specifier::
memmap=16G!16G
@@ -141,9 +139,7 @@ Options in make menuconfig:
CONFIG_DEV_DAX_PMEM=m
CONFIG_DEV_DAX_KMEM=m
-This configuration gave me one pmem device with 16 GiB of space:
-
-::
+This configuration gave me one pmem device with 16 GiB of space::
$ fdisk -l /dev/pmem0
@@ -152,9 +148,7 @@ This configuration gave me one pmem device with 16 GiB of space:
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
-lsblk shows the block devices, including pmem devices. Examples:
-
-::
+lsblk shows the block devices, including pmem devices. Examples::
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
@@ -165,8 +159,6 @@ lsblk shows the block devices, including pmem devices. Examples:
pmem2 259:2 0 16G 0 disk /mnt/xfs-pmem2
pmem3 259:3 0 16G 0 disk /mnt/xfs-pmem3
-::
-
$ lsblk -t
NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
pmem0 0 4096 0 4096 512 0 128 128 0B
@@ -184,35 +176,67 @@ persistent memory address range.
ndctl create-namespace ties a namespace to a block device or character
device:
-+-------+-------+-------+-------+-------+-------+-------+-----+-------+-------+
-| mode | d | d | d | label | atom | f | DAX | PFN | f |
-| | escri | evice | evice | met | icity | ilesy | | met | ormer |
-| | ption | path | type | adata | | stems | | adata | name |
-+=======+=======+=======+=======+=======+=======+=======+=====+=======+=======+
-| raw | raw | /dev/ | block | no | no | yes | no | no | |
-| | | pmemN | | | | | | | |
-+-------+-------+-------+-------+-------+-------+-------+-----+-------+-------+
-| s | s | / | block | yes | yes | yes | no | no | |
-| ector | ector | dev/p | | | | | | | |
-| | a | memNs | | | | | | | |
-| | tomic | | | | | | | | |
-+-------+-------+-------+-------+-------+-------+-------+-----+-------+-------+
-| fsdax | files | /dev/ | block | yes | no | yes | yes | yes | m |
-| | ystem | pmemN | | | | | | | emory |
-| | DAX | | | | | | | | |
-+-------+-------+-------+-------+-------+-------+-------+-----+-------+-------+
-| d | d | / | char | yes | no | no | yes | yes | dax |
-| evdax | evice | dev/d | acter | | | | | | |
-| | DAX | axN.M | | | | | | | |
-+-------+-------+-------+-------+-------+-------+-------+-----+-------+-------+
+.. list-table::
+ :header-rows: 1
+
+ - - mode
+ - description
+ - device path
+ - device type
+ - label metadata
+ - atomicity
+ - filesystems
+ - DAX
+ - PFN metadata
+ - former name
+ - - raw
+ - raw
+ - /dev/pmemN
+ - block
+ - no
+ - no
+ - yes
+ - no
+ - no
+ -
+ - - sector
+ - sector atomic
+ - /dev/pmemNs
+ - block
+ - yes
+ - yes
+ - yes
+ - no
+ - no
+ -
+ - - fsdax
+ - filesystem DAX
+ - /dev/pmemN
+ - block
+ - yes
+ - no
+ - yes
+ - yes
+ - yes
+ - memory
+ - - devdax
+ - device DAX
+ - /dev/daxN.M
+ - character
+ - yes
+ - no
+ - no
+ - yes
+ - yes
+ - dax
There are two places to store PFN metadata ("struct page" metadata):
-- --map=mem = regular system memory
+- ``--map=mem`` = regular system memory
- adequate for small persistent memory capacities
-- --map=dev = persistent memory
+- ``--map=dev`` = persistent memory
- intended for large persistent memory capacities (there might not
be enough regular memory in the system!)