Also, due to BAR size limit pre-resizable BAR, there is no way for the NVMe SSD to know whether the GPU's BAR is mapped to the correct VRAM block so if you are going to waste microseconds doing context switches for the kernel/drivers to make all of the checks to move the BAR around if needed and make sure nothing else was attempting to access it, you are better off using system memory as a go-between and not worry about it. It would make sense if resizable BAR was a prerequisite for Direct Storage to greatly simplify things.