<html>
    <head>
      <base href="https://issues.openmandriva.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:efremmc2@gmail.com" title="Efrem McCrimon <efremmc2@gmail.com>"> <span class="fn">Efrem McCrimon</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - diskdrake on nvme drive"
   href="https://issues.openmandriva.org/show_bug.cgi?id=1996">bug 1996</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>UNCONFIRMED
           </td>
           <td>RESOLVED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>FIXED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - diskdrake on nvme drive"
   href="https://issues.openmandriva.org/show_bug.cgi?id=1996#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - diskdrake on nvme drive"
   href="https://issues.openmandriva.org/show_bug.cgi?id=1996">bug 1996</a>
              from <span class="vcard"><a class="email" href="mailto:efremmc2@gmail.com" title="Efrem McCrimon <efremmc2@gmail.com>"> <span class="fn">Efrem McCrimon</span></a>
</span></b>
        <pre>

I build a new initramfs (initrd-kernel) to include 'nvme' so it would be active
upon boot up a LiveOS.  

I got this working.  But I had to still change my BIOS setting for
STAT from 'RAID' to AHCI.  I spoke to a guy at Intel about this a
little about performance and why AHCI setting is used. Some MFG are providing
options to change BIOS setting/closely related to UEFI setting and EFI
variables.


This is from the image I created with the modification in dracut.



# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    1   7.6G  0 disk /run/initramfs/omdv
├─sda1        8:1    1   1.9G  0 part
└─sda2        8:2    1   6.3M  0 part
loop0         7:0    0   1.8G  1 loop /run/initramfs/image
nvme0n1     259:0    0   477G  0 disk
├─nvme0n1p1 259:1    0   260M  0 part
├─nvme0n1p2 259:2    0    16M  0 part
├─nvme0n1p3 259:3    0 315.7G  0 part
└─nvme0n1p4 259:4    0  1000M  0 part


Test results:

run 1
# hdparm -tT --direct /dev/nvme0n1

/dev/nvme0n1:
 Timing O_DIRECT cached reads:   1916 MB in  2.00 seconds = 960.13 MB/sec
 Timing O_DIRECT disk reads: 3604 MB in  3.00 seconds = 1201.16 MB/sec

run2:
/dev/nvme0n1:
 Timing O_DIRECT cached reads:   1912 MB in  2.00 seconds = 958.16 MB/sec
 Timing O_DIRECT disk reads: 3498 MB in  3.00 seconds = 1165.38 MB/sec
[root@localhost live]# hdparm -tT --direct /dev/nvme0n1


run3:
/dev/nvme0n1:
 Timing O_DIRECT cached reads:   1916 MB in  2.00 seconds = 960.10 MB/sec
 Timing O_DIRECT disk reads: 3608 MB in  3.00 seconds = 1202.05 MB/sec
[root@localhost live]# hdparm -tT --direct /dev/nvme0n1


run4:
/dev/nvme0n1:
 Timing O_DIRECT cached reads:   1936 MB in  2.00 seconds = 969.67 MB/sec
 Timing O_DIRECT disk reads: 3592 MB in  3.00 seconds = 1197.13 MB/sec
[root@localhost live]#


Look at those speeds above!!!!


# lspci
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM
Registers (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Iris Graphics 540 (rev 0a)
00:04.0 Signal processing controller: Intel Corporation Skylake
Processor Thermal Subsystem (rev 09)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0
xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise
Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise
Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise
Point-LP Serial IO I2C Controller #1 (rev 21)
00:15.3 Signal processing controller: Intel Corporation Sunrise
Point-LP Serial IO I2C Controller #3 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP
CSME HECI #1 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express
Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express
Root Port #6 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Device 9d18 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Network controller: Intel Corporation Wireless 8260 (rev 42)
02:00.0 SD Host controller: O2 Micro, Inc. Device 8620 (rev 01)
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd
NVMe SSD Controller (rev 01)
[root@localhost live]# lspci -v -s 03:00.0
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd
NVMe SSD Controller (rev 01) (prog-if 02 [NVM Express])
        Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller
        Flags: bus master, fast devsel, latency 0, IRQ 16, NUMA node 0
        Memory at a1000000 (64-bit, non-prefetchable) [size=16K]
        I/O ports at 3000 [size=256]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [b0] MSI-X: Enable+ Count=9 Masked-
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [148] Device Serial Number 00-00-00-00-00-00-00-00
        Capabilities: [158] Power Budgeting <?>
        Capabilities: [168] #19
        Capabilities: [188] Latency Tolerance Reporting
        Capabilities: [190] L1 PM Substates
        Kernel driver in use: nvme
        Kernel modules: nvme


Note above that the kernel module is "nvme" and not "ahci" - our proof!

Some information on the module:

# modinfo nvme-core
filename:
/lib/modules/4.6.5-desktop-2omv/kernel/drivers/nvme/host/nvme-core.ko.xz
version:        1.0
license:        GPL
srcversion:     78BC9FF1F4C43D227B718A2
depends:
intree:         Y
vermagic:       4.6.5-desktop-2omv SMP preempt mod_unload modversions
parm:           admin_timeout:timeout in seconds for admin commands (byte)
parm:           io_timeout:timeout in seconds for I/O (byte)
parm:           shutdown_timeout:timeout in seconds for controller
shutdown (byte)
parm:           nvme_major:int
parm:           nvme_char_major:int
[root@localhost live]# modinfo nvme
filename:
/lib/modules/4.6.5-desktop-2omv/kernel/drivers/nvme/host/nvme.ko.xz
version:        1.0
license:        GPL
author:         Matthew Wilcox <<a href="mailto:willy@linux.intel.com">willy@linux.intel.com</a>>
srcversion:     548638465CB77F1DC424F2C
alias:          pci:v0000106Bd00002001sv*sd*bc*sc*i*
alias:          pci:v*d*sv*sd*bc01sc08i02*
alias:          pci:v00008086d00005845sv*sd*bc*sc*i*
alias:          pci:v00008086d00000953sv*sd*bc*sc*i*
depends:        nvme-core
intree:         Y
vermagic:       4.6.5-desktop-2omv SMP preempt mod_unload modversions
parm:           use_threaded_interrupts:int
parm:           use_cmb_sqes:use controller's memory buffer for I/O SQes (bool)</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are watching all bug changes.</li>
      </ul>
    </body>
</html>