Hi Jason,
On 11/15/2023 9:58 PM, Jason Gunthorpe wrote:
On Wed, Nov 15, 2023 at 01:17:06PM +0800, Liu, Jing2 wrote:
This is the right way to approach it,
I learned that there was discussion about using io_uring to get the
page fault without
eventfd notification in [1], and I am new at io_uring and studying the
man page of
liburing, but there're questions in my mind on how can QEMU get the
coming page fault
with a good performance.
Since both QEMU and Kernel don't know when comes faults, after QEMU
submits one
read task to io_uring, we want kernel pending until fault comes. While
based on
hwpt_fault_fops_read() in [patch v2 4/6], it just returns 0 since
there's now no fault,
thus this round of read completes to CQ but it's not what we want. So
I'm wondering
how kernel pending on the read until fault comes. Does fops callback
need special work to
Implement a fops with poll support that triggers when a new event is
pushed and everything will be fine.
Does userspace need also setup a POLL flag to let io_uring go into poll,
or io_uring
always try to poll?
There are many examples in the
kernel. The ones in the mlx5 vfio driver spring to mind as a scheme I
recently looked at.
Thank you very much for guiding the way. We will study the example to
understand
more.
BRs,
Jing
Jason