CUDA 6.0RC + GTX 750Ti + Linux64 + intel_iommu=on => DMAR:[fault reason 06] PTE Read access is

When VT-d is enabled in BIOS and intel_iommu=on is passed to the kernel, the cudaMallocManaged example from the sdk
cuda-6.0/7_CUDALibraries/conjugateGradientUM/conjugateGradientUM triggers a lot of errors like:

Feb 21 23:18:17 mainframe kernel: [ 4682.410609] DMAR:[fault reason 06] PTE Read access is not set
Feb 21 23:18:17 mainframe kernel: [ 4682.410611] dmar: DRHD: handling fault status reg 3
Feb 21 23:18:17 mainframe kernel: [ 4682.410613] dmar: DMAR:[DMA Read] Request device [01:00.0] fault addr 6bebd000
Feb 21 23:18:17 mainframe kernel: [ 4682.410613] DMAR:[fault reason 06] PTE Read access is not set
Feb 21 23:18:17 mainframe kernel: [ 4682.410615] dmar: DRHD: handling fault status reg 3
Feb 21 23:18:17 mainframe kernel: [ 4682.410618] dmar: DMAR:[DMA Read] Request device [01:00.0] fault addr 6bec0000

and test fails.

On the other hand, removing intel_iommu=on from kernel arguments resolves the problem and test passes. So something is not working in UVM when VT-d is enabled (nothing is vitualized, just intel_iommu=on is forced).

Details of my system:
MB: Z87-DELUXE/DUAL (latest BIOS)
CPU i7-4770
GTX 750Ti(rev a2)
NVIDIA driver 334.16
Debian x64 / unstable / 3.12.9-1
CUDA-6.0 RC (.debs are taken from ubuntu 13.04 package, beta driver is downloaded from nvidia website)

Has no impact on me, just a bug report.

-Vladimir

You might want to post this as a bug on the registered developer website as bug reports here don’t always make it to the right place :)