On Thu, Nov 05, 2020 at 01:58:16PM -0400, Jason Gunthorpe wrote: > > I noticed there were a couple of places expecting dma_device to be set > > to !NULL: > > > > drivers/infiniband/core/umem.c: dma_get_max_seg_size(device->dma_device), sg, npages, > > drivers/nvme/host/rdma.c: ctrl->ctrl.numa_node = dev_to_node(ctrl->device->dev->dma_device); > > Don't know much about NUMA, but do you think the ib device setup > should autocopy the numa node from the dma_device to the ib_device and > this usage should just refer to the ib_device? FYI, I ended up just lifting the ibdev_to_node from rds to ib_verbs.h. That uses the parent pointer in the ib_device and should generally work ok. If not we can improve іt as we now have a proper abstraction.