enfiskutensykkel / ssd-gpu-dma

Build userspace NVMe drivers and storage applications with CUDA support
BSD 2-Clause "Simplified" License
332 stars 47 forks source link

nvm-identify run error #30

Open dengdui-ganan opened 4 years ago

dengdui-ganan commented 4 years ago

Hi: I have build libnvm with: cmake .. -DNVIDIA=/usr/src/nvidia-440.33.01 make identify then run nvm-identify binary as follows: 1) when unbind device : echo "0000:19:00.0" > /sys/bus/pci/devices/0000\:19\:00.0/driver/unbind then run cmd with: ./bin/nvm-identify --ctrl=/dev/nvme0n1 with error: Failed to open descriptor: No such file or directory 2) when bind device: run cmd with: ./bin/nvm-identify --ctrl=/dev/nvme0n1 with error: [map_memory] Page mapping kernel request failed: Inappropriate ioctl for device what need i to do to fix this problem?

enfiskutensykkel commented 4 years ago

Hi,

You need to unbind the in-kernel NVMe driver, load the libnvm module and make sure that the device is bound to that.

echo "0000:19:00.0" > /sys/bus/pci/devices/0000:19:00.0/driver/unbind
cd modules
make && make load

Then the device file should show up as /dev/libnvm0.

dengdui-ganan commented 4 years ago

i think i have bind device to libnvm: lspci -s 19:00.0 -vv with line as: Kernel driver in use: libnvm helper when: cd modules; make && make load there exist error: insmod: ERROR: could not insert module libnvm.ko: File exists and there has /dev/libnvm0 device: when run cmd with : ./bin/nvm-identify --ctrl=/dev/libnvm0 also has error: Floating point exception

enfiskutensykkel commented 4 years ago

Hi,

there exist error: insmod: ERROR: could not insert module libnvm.ko: File exists

It appears to already be loaded, it doesn't need to be loaded again.

when run cmd with : ./bin/nvm-identify --ctrl=/dev/libnvm0 also has error: Floating point exception

I'm not sure why this happens, but it could be that it is unable to memory map controller registers. Can you please post the output of dmesg and also the output from cat /proc/cmdline .

dengdui-ganan commented 4 years ago
enfiskutensykkel commented 4 years ago

It appears you have unbinded the drive while it was mounted.

dengdui-ganan commented 4 years ago

I just run:

dengdui-ganan commented 4 years ago

and when i mount, with exception: mount: /dev/libnvm0 is not a block device