Hi, We are trying to use NBD and SPDK on client side. Data path looks like this File System ----> NBD client ------>SPDK------->NVMEoF Currently we are seeing a high latency in the order of 50 us by using this path. It seems like there is data buffer copy happening for write commands from kernel to user space when spdk nbd read data from the nbd socket. I think that there could be two ways to prevent data copy . 1. Memory mapped the kernel buffers to spdk virtual space. I am not sure if it is possible to mmap a buffer. And what is the impact to call mmap for each IO. 2. If NBD kernel give the physical address of a buffer and SPDK use that to DMA it to NVMEoF. I think spdk must also be changing a virtual address to physical address before sending it to nvmeof. Option 2 makes more sense to me. Please let me know if option 2 is feasible in spdk Thanks Rishabh Mittal