nvidia_p2p_get_pages() fails when code ported to Ubuntu 14.04

I have a driver code for a 3rd party device and am trying to use the GPUDirect features for RDMA. I have an older motherboard and K5000 and CUDA 5.5 running ubuntu 12 and everything works fine. After upgrading the motherboard and GPU to K40 and OS to Ubuntu 14.04, the first call to nvidia_p2p_get_pages fails with the following kernel error:

BUG: unable to handle kernel paging request at 0000014400000051

I have updated the driver to newest 346.59
I have rebuilt custom driver with updated Module.symvers from Nvidia driver
I only get this error when passing what I believe are valid memory addresses. i.e. Passing bogus 0x12340000 as the address results in the function returning an appropriate error rather than a kernel failure.

Is the new system there is a second GPU (Quadro 600) used for display.

Any help is appreciated.

Is Ubuntu 14.04 listed as a supported operating system for CUDA 5.5? You can check the “Getting Started – Linux” document to find out. My guess is that you need a more recent CUDA version. For what it is worth, the documentation for CUDA 7.0 says Ubuntu 14.04 is supported: http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html#axzz3bku6yVQ6

We are also seeing a similar behavior with CentOS 7.

Our setup uses a Tesla C2050 for getting the GPUdirect working. It works in CentOS 6.4 with CUDA 5.5. When we upgrade to CUDA 6 and above, the system crashes with a paging error.

@BrianMarshall - Did you resolve the issue? Thanks