zrlio / softiwarp

SoftiWARP: Software iWARP kernel driver and user library for Linux
130 stars 48 forks source link

4.10 kernel support #12

Open misamoylov opened 7 years ago

misamoylov commented 7 years ago

During make kernel on 4.10 kernel-ml

https://pastebin.com/LqfD0GJc

zhangguoqing commented 7 years ago

How to fix https://pastebin.com/LqfD0GJc when use the latest stable kernel 4.10.9? or who can tell me which latest stable kernel version could be make successfully? Thanks all.

misamoylov commented 7 years ago

Hi, i think latest successfull kernel version was kernel-ml-devel-4.8.13-1.el7.elrepo.x86_64.rpm

zhangguoqing commented 7 years ago

Hi misamoylov, Thank you, the kernel-ml-devel-4.8.13-1.el7.elrepo.x86_64.rpm is OK for me. I have compiled the soft-iwarp, but thers is not the ibv_devices.

uname -sr Linux 4.8.13-1.el7.elrepo.x86_64

ibv_devices device node GUID


ls /dev/infiniband/ rdma_cm uverbs0 uverbs1

strace -f ibv_devices .... ..... mprotect(0x7f78455dd000, 4096, PROT_READ) = 0 munmap(0x7f7846f9e000, 22390) = 0 open("/sys/class/infiniband_verbs/uverbs1/device/vendor", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/sys/class/infiniband_verbs/uverbs1/device/vendor", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/sys/class/infiniband_verbs/uverbs1/device/vendor", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/sys/class/infiniband_verbs/uverbs1/device/vendor", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/sys/class/infiniband_verbs/uverbs0/device/vendor", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/sys/class/infiniband_verbs/uverbs0/device/vendor", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/sys/class/infiniband_verbs/uverbs0/device/vendor", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/sys/class/infiniband_verbs/uverbs0/device/vendor", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) futex(0x7f7846d85534, FUTEX_WAKE_PRIVATE, 2147483647) = 0 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7846fa3000 write(1, " device \t node GUI"..., 34 device node GUID ) = 34 write(1, " ------ \t-----------"..., 38 ------ ---------------- ) = 38 exit_group(0) = ? +++ exited with 0 +++

misamoylov commented 7 years ago

Yes, I know it, but it seems like another problem =)))

zhangguoqing commented 7 years ago

I maybe fix above problem. It seems that there are some wrong with libibverbs-utils install by yum. The flow commands compile the libibverbs-utils from source code, and replace the native ibv* utils. wget https://www.openfabrics.org/downloads/verbs/libibverbs-1.2.1.tar.gz tar zxvf libibverbs-1.2.1.tar.gz cd libibverbs-1.2.1 yum install libnl libnl-devel ./configure make cp examples/ibv* /usr/bin/

ibv_devices device node GUID


siw_eth0            fa163e2d37060000
siw_lo              7369775f6c6f0000
misamoylov commented 7 years ago

Great, it works for me too.

BernardMetzler commented 7 years ago

I opened a development branch 'dev-siw.mem_ext'. It implements some kernel API extensions (memory management) to support NVMeF (both initiator and target). Please treat that code as purely experimental - stability and performance will improve over time. It runs on kernels 4.8 and 4.10.