2 Replies Latest reply on Aug 21, 2018 11:14 AM by Intel Corporation

    Intel Optane 900p SSD - DMA usage / LINUX

    stefan.laza

      Hi forum,

       

      I am using Intel Optane 900p and I have made a simple code that writes data to it. I have noticed a rather large CPU load during the writes (80 percent).

      Does this mean that this SSD is not using the DMA transfer? If not, how do I set it in the linux environment?

       

      The relevant part of the hdparm -I /dev/nvme0n1 shows this:

      DMA: not supported
      PIO: pio0

       

      Also hdparm -d1 shows:

       

      root@dra7xx-evm:~# hdparm -d1 /dev/nvme0n1

      /dev/nvme0n1:

      setting using_dma to 1 (on)

      HDIO_SET_DMA failed: Inappropriate ioctl for device

      HDIO_GET_DMA failed: Inappropriate ioctl for device

       

      Do you have any solutions for this problem? I would like to lower the CPU load.

       

      Regards,

      Stefan.

       

        • 1. Re: Intel Optane 900p SSD - DMA usage / LINUX
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hello Stefan.laza,

          Thank you for contacting Intel Technical Support.

          As we understand you are using an Intel® Optane™ SSD 900P Series (PCIe NVMe 3.0 x4) with your own code to write data to your device. If we inferred correctly please take into consideration the following information:

          •    To exploit the DMA capabilities of its hardware, the device driver needs to be able to correctly set up the DMA transfer and synchronize with the hardware. Unfortunately, because of its hardware nature, DMA is very system dependent. Each architecture has its own techniques to manage DMA transfers, and the programming interface is different for each. The kernel can’t offer a unified interface, either, because a driver can’t abstract too much from the underlying hardware mechanisms. Some steps have been made in that direction, however, in recent kernels.

          •    hdparm sent an IDE-disk-specific ioctl command to a CCISS hardware RAID driver (not an IDE disk system, more like SCSI). Apparently, the ioctl was a "null command" to make the program wait for the completion of some disk operation.

          •    The "hdparm" command is primarily for ATA/IDE disks. Don't expect hdparm to work with hardware RAID or other non-IDE disks. 

          •    This does not mean that is not using the DMA transfer and the way to set it on your Linux environment can vary from one version to the other as mentioned previously depending on the kernel and hardware architecture.

          We advise you to visit you Linux OS distribution website for further specific information about how to check the status of the DMA.

          The CPU load depends a lot on your system specifications, OS, and quantity of information that you are writing to your drive and we cannot provide you with a recommendation at this time.

          We hope you find this information useful.

          Thank you for your patience and understanding.

          Best regards,

          Josh B.
          Intel Customer Support
           

          • 2. Re: Intel Optane 900p SSD - DMA usage / LINUX
            Intel Corporation
            This message was posted on behalf of Intel Corporation

            Hello Stefan.laza,

            Thank you for having contacted Intel Technical Support.   
             
            We have not heard from you since our last communication and we would like to know if you need further assistance or if we can close this case?
             
            Important note: Should further assistance or clarification be required, we will greatly appreciate if you reply to this post instead of writing a new one unless your inquiry is completely unrelated. This way we will prevent generating a duplicate post and we will not lose the train of thought.
             
            We will be looking forward to your reply.

            Best regards,

            Josh B.
            Intel Customer Support.