Bug 3713 - DSA - Page request service is blocked by improper block_on_fault flag setting
Summary: DSA - Page request service is blocked by improper block_on_fault flag setting
Status: CLOSED DUPLICATE of bug 3711
Alias: None
Product: ANCK 5.10 Dev
Classification: ANCK
Component: virt (show other bugs) virt
Version: unspecified
Hardware: All Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: maqiao
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-11 18:09 UTC by AubreyLi
Modified: 2023-01-11 18:45 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description AubreyLi intel_group 2023-01-11 18:09:46 UTC
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.
Comment 1 AubreyLi intel_group 2023-01-11 18:44:23 UTC
Third attempt due to web page submission return error.

*** This bug has been marked as a duplicate of bug 3711 ***
Comment 2 AubreyLi intel_group 2023-01-11 18:45:08 UTC
This ticket is closed, as duplicate of bug #3711