The device may encounter a page fault on one of: 1) a Completion Record Address; 2) the Descriptor ListAddress in a Batch descriptor; 3) Readback address in a Drain descriptor; 4) a source buffer or destination buffer address. For the first three cases, the device blocks until the page fault is resolved, if PRS is enabled; otherwise it is reported as an error. For the fourth case, the device can either block until the page fault is resolved or prematurely complete the descriptor and return a partial completion to the client, as specified by software. The issue is caused by a nasty bug about block_on_fault flag. Although block_on_fault flag is not needed on the host DMAtest as the host kernel page table won't be swapped out. But this flag is still needed for the guest DMAtest as the guest kernel page table could be. The current block_on_fault is set properly in DSA’s WQ config, but not in descriptor flag.
Second attempt due to web page submission return error. *** This bug has been marked as a duplicate of bug 3711 ***
This ticket is closed, as duplicate of bug #3711