(k)rafaeldtinoco@emulated:~$ sudo ndctl enable-dimm all
enabled 2 nmems
(k)rafaeldtinoco@emulated:~$ sudo ndctl list -D
[
{
"dev":"nmem1",
"id":"8680-57341200",
"handle":2,
"phys_id":0,
"flag_failed_arm":true
},
{
"dev":"nmem0",
"id":"8680-56341200",
"handle":1,
"phys_id":0,
"flag_failed_arm":true
}
]
(k)rafaeldtinoco@emulated:~$ sudo ndctl enable-region all
enabled 2 regions
(k)rafaeldtinoco@emulated:~$ ndctl list -R
[
{
"dev":"region1",
"size":2145386496,
"available_size":0,
"max_available_extent":0,
"type":"pmem",
"persistence_domain":"unknown"
},
{
"dev":"region0",
"size":2145386496,
"available_size":0,
"max_available_extent":0,
"type":"pmem",
"persistence_domain":"unknown"
}
]
(k)rafaeldtinoco@emulated:~$ sudo ndctl create-namespace -r region0
{
"dev":"namespace0.0",
"mode":"fsdax",
"map":"dev",
"size":"2014.00 MiB (2111.83 MB)",
"uuid":"c3621fd1-6b37-4241-956f-eeffdb498872",
"sector_size":512,
"align":2097152,
"blockdev":"pmem0"
}
(k)rafaeldtinoco@emulated:~$ sudo ndctl create-namespace -r region1
{
"dev":"namespace1.0",
"mode":"fsdax",
"map":"dev",
"size":"2014.00 MiB (2111.83 MB)",
"uuid":"ec231ca1-cc4a-41e6-892b-e8afd3e36313",
"sector_size":512,
"align":2097152,
"blockdev":"pmem1"
}
(k)rafaeldtinoco@emulated:~$ sudo cat /proc/iomem
...
240000000-2bfdfffff : Persistent Memory
240000000-2bfdfffff : namespace0.0
2bfe00000-33fbfffff : Persistent Memory
2bfe00000-33fbfffff : namespace1.0
(k)rafaeldtinoco@emulated:~$ sudo fdisk -l /dev/pmem0
Disk /dev/pmem0: 1.99 GiB, 2111832064 bytes, 4124672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x6e3d7965
Device Boot Start End Sectors Size Id Type
/dev/pmem0p1 4096 4124671 4120576 2G 83 Linux
(k)rafaeldtinoco@emulated:~$ sudo mkfs.ext4 -b 4096 -E stride=512 -F /dev/pmem0
mke2fs 1.45.3 (14-Jul-2019)
Found a dos partition table in /dev/pmem0
Creating filesystem with 515584 4k blocks and 129024 inodes
Filesystem UUID: d6d72f36-28bb-40ed-9108-252e3787b08e
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
k)rafaeldtinoco@emulated:~$ sudo mkfs.ext4 -b 4096 -E stride=512 /dev/pmem0
pmem0# pmem0p1#
(k)rafaeldtinoco@emulated:~$ sudo mkfs.ext4 -b 4096 -E stride=512 /dev/pmem0p1
mke2fs 1.45.3 (14-Jul-2019)
Creating filesystem with 515072 4k blocks and 128768 inodes
Filesystem UUID: 56e9b056-eea1-41dd-9eaa-3f9e66c712d0
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
(k)rafaeldtinoco@emulated:~$ sudo mount /dev/pmem0p1 /mnt
(k)rafaeldtinoco@emulated:/mnt$ sudo dd if=/dev/zero of=./teste bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.70624 s, 397 MB/s
** Description changed:
+
+ https://bugs.launchpad.net/ubuntu/+source/ndctl/+bug/1853506
+
[Availability]
- There is an on-going MIR for a package whose ndctl is a dependency: pmdk
- (LP: #1790856)
+ There is an on-going MIR for a package whose ndctl is a dependency:
+ pmdk (LP: #1790856)
- TODO: The package must already be in the Ubuntu universe, and must build
- for the architectures it is designed to work on.
+ * Package exists since bionic (-updates) in universe:
- TODO: mention which binaries we actually want (if the package builds
- more than one). Check the dependency-tree.txt file which binary we
- actually need vs the debian/control file in the source
+ 61.2-0ubuntu1~18.04.1 | bionic-updates/universe
+ 63-1.3 | disco/universe
+ 65-1 | eoan/universe
+ 67-1 | focal/universe
+
+ * Packages:
+
+ ndctl libndctl6 libndctl-dev
+ daxctl libdaxctl1 libdaxctl-dev
+
+ ndctl: dctl is utility for managing the "libnvdimm" kernel
+ subsystem. The "libnvdimm" subsystem defines a kernel device
+ model and control message interface for platform NVDIMM resources
+ like those defined by the ACPI 6.0 NFIT (NVDIMM Firmware
+ Interface Table).
+
+ Operations supported by the tool include, provisioning capacity
+ (namespaces), as well as enumerating/enabling/disabling the
+ devices (dimms, regions, namespaces) associated with an NVDIMM
+ bus.
+
+ daxctl: The daxctl utility provides enumeration and provisioning
+ commands for the Linux kernel Device-DAX facility. This facility
+ enables DAX mappings of performance / feature differentiated
+ memory without need of a filesystem.
+
+ * Architectures:
+
+ source, amd64, arm64, armhf, i386, ppc64el, s390x
+
+ PMEM: A system-physical-address range where writes are persistent. A
+ block device composed of PMEM is capable of DAX. A PMEM address
+ range may span an interleave of several DIMMs.
+
+ BLK: A set of one or more programmable memory mapped apertures
+ provided by a DIMM to access its media. This indirection precludes
+ the performance benefit of interleaving, but enables DIMM-bounded
+ failure modes.
+
+ DAX: File system extensions to bypass the page cache and block layer
+ to mmap persistent memory, from a PMEM block device, directly into a
+ process address space.
+
+ Binary Packages:
+
+ ndctl
+ libndctl6
+ libndctl-dev
+ daxctl
+ libdaxctl1
+ libdaxctl-dev
[Rationale]
- This is part of the MIR activity for all dependencies of mailman3
+ This is part of the MIR activity for all dependencies of pmdk.
The "main" MIR of it is at:
- https://bugs.launchpad.net/ubuntu/+source/mailman3/+bug/1775427
+ https://bugs.launchpad.net/ubuntu/+source/pmdk/+bug/1790856
- Mailman (2) has only python2 support, but we strive for python3,
- therefore Mailman3 which has python3 support should be promoted to main.
-
- TODO: check if this code (or older versions of it) was part of mailman2
- already - if it was leave here: This code was formerly part of mailman2
- which is in main, but was split into an extra package and evolved from
- ther eon its own)
+ Package was introduced in bionic after bionic was released (19.04.1)
+ in universe and it is still in universe until now.
[Security]
TODO: check the security History of the package
- http://people.ubuntu.com/~ubuntu-security/cve/universe.html
- http://cve.mitre.org/cve/cve.html
[Quality assurance]
- The mailman3 stacks as of now (Disco) installs fine and provides a base
- config. But due to the nature of the package that needs further modification
- to be of real use.
+ * Documentation:
+
+ - https://docs.pmem.io/ndctl-users-guide
+ - https://nvdimm.wiki.kernel.org/
+
+ Both packages (ndctl and daxctl) and its libraries (libndctl6,
+ libndctl-dev, libdaxctl1, libdaxctl-dev) install fine and are
+ operational (check comment #1).
TODO: The package must not ask debconf questions higher than medium if
it is going to be installed by default. The debconf questions must have
reasonable defaults.
TODO: There are no long-term outstanding bugs which affect the usability
of the program to a major degree. To support a package, we must be
reasonably convinced that upstream supports and cares for the package.
TODO: The status of important bugs in Debian's, Ubuntu's, and upstream's
bug tracking systems must be evaluated. Important bugs must be pointed
out and discussed in the MIR report.
TODO: The package is maintained well in Debian/Ubuntu (check out the
Debian PTS)
TODO: The package should not deal with exotic hardware which we cannot
support.
TODO: If the package ships a test suite, and there is no obvious reason
why it cannot work during build (e. g. it needs root privileges or
network access), it should be run during package build, and a failing
test suite should fail the build.
TODO: The package uses a debian/watch file whenever possible. In cases
where this is not possible (e. g. native packages), the package should
either provide a debian/README.source file or a debian/watch file (with
comments only) providing clear instructions on how to generate the
source tar file.
TODO: It is often useful to run lintian --pedantic on the package to
spot the most common packaging issues in advance
TODO: The package should not rely on obsolete or about to be demoted
packages. That currently includes package dependencies on Python2
(without providing Python3 packages), and packages depending on GTK2.
[UI standards]
TODO: End-user applications must be internationalized (translatable),
using the standard intltool/gettext build and runtime system and produce
a proper PO template during build.
TODO: End-user applications must ship a standard conformant desktop
file.
[Dependencies]
- Some dependencies are not in main, but we drive MIR for all related packages
- that are not in main at the same time.
+ Some dependencies are not in main, but we drive MIR for all related
+ packages that are not in main at the same time.
Please check the list of bugs from the main Mailman3 MIR to get an
overview.
[Standards compliance]
TODO: The package should meet the FHS and Debian Policy standards.
TODO: Major violations should be documented and justified.
TODO: Also, the source packaging should be reasonably easy to understand
and maintain.
[Maintenance]
The Server team will subscribe for the package for maintenance
[Background]
- TODO: The package descriptions should explain the general purpose and
- context of the package. Additional explanations/justifications should be
- done in the MIR report.
+ The Persistent Memory Development Kit (PMDK) is a collection of
+ libraries and tools for System Administrators and Application
+ Developers to simplify managing and accessing persistent memory
+ devices. The libraries build on the Direct Access (DAX) feature which
+ allows applications to directly access persistent memory as
+ memory-mapped files. This is described in detail in the Storage
+ Network Industry Association (SNIA) NVM Programming Model.
+
+ PMDK depends on libndctl.
+
+ The Non-Volatile Device Control (ndctl) is a utility for managing the
+ LIBNVDIMM Linux Kernel subsystem. The LIBNVDIMM subsystem defines a
+ kernel device model and control message interface for platform NFIT
+ (NVDIMM Firmware Interface Table). This interface was first defined
+ by the ACPI v6.0 specification. Later versions may enhance or modify
+ this specification. The latest ACPI and UEFI specifications can be
+ found at http://uefi.org/specifications.
+
+ The latest ACPI and UEFI specifications can be found at uefi.org.
+ Operations
+ supported by ndctl include:
+
+ - Provisioning capacity (namespaces)
+ - Enumerating Devices
+ - Enabling and Disabling NVDIMMs, Regions, and Namespaces
+ - Managing NVDIMM Labels
+
+ The LIBNVDIMM subsystem provides support for three types of NVDIMMs,
+ namely, PMEM, BLK, and NVDIMM devices that can simultaneously support
+ both PMEM and BLK mode access. These three modes of operation are
+ described by the "NVDIMM Firmware Interface Table" (NFIT) in ACPI
+ v6.0 or later. Linux Kernel documentation can be found at:
+ https://www.kernel.org/doc/Documentation/nvdimm/nvdimm.txt.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1853506
Title:
[MIR] ndctl
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ndctl/+bug/1853506/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs