(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

Reply via email to