[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20231121001452.GF10140@ziepe.ca>
Date: Mon, 20 Nov 2023 20:14:52 -0400
From: Jason Gunthorpe <jgg@...pe.ca>
To: "Liu, Jing2" <jing2.liu@...ux.intel.com>
Cc: Lu Baolu <baolu.lu@...ux.intel.com>,
Kevin Tian <kevin.tian@...el.com>,
Joerg Roedel <joro@...tes.org>, Will Deacon <will@...nel.org>,
Robin Murphy <robin.murphy@....com>,
Jean-Philippe Brucker <jean-philippe@...aro.org>,
Nicolin Chen <nicolinc@...dia.com>,
Yi Liu <yi.l.liu@...el.com>,
Jacob Pan <jacob.jun.pan@...ux.intel.com>,
iommu@...ts.linux.dev, linux-kselftest@...r.kernel.org,
virtualization@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 0/6] IOMMUFD: Deliver IO page faults to user space
On Thu, Nov 16, 2023 at 09:42:23AM +0800, Liu, Jing2 wrote:
> 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?
io_uring can trigger poll and use other approaches, it is flexible the
driver can scale this in different ways.
Jason
Powered by blists - more mailing lists