Simple one-shot poll through the io_submit() interface. To poll for
a file descriptor the application should submit an iocb of type
IOCB_CMD_POLL. It will poll the fd for the events specified in the
the first 32 bits of the aio_buf field of the iocb.
Unlike poll or epoll without EPOLLONESHOT
Simple one-shot poll through the io_submit() interface. To poll for
a file descriptor the application should submit an iocb of type
IOCB_CMD_POLL. It will poll the fd for the events specified in the
the first 32 bits of the aio_buf field of the iocb.
Unlike poll or epoll without EPOLLONESHOT
On Thu, Aug 02, 2018 at 06:16:48PM +0200, Christoph Hellwig wrote:
> On Thu, Aug 02, 2018 at 05:08:38PM +0100, Al Viro wrote:
> > On Thu, Aug 02, 2018 at 06:08:16PM +0200, Christoph Hellwig wrote:
> > > On Thu, Aug 02, 2018 at 05:00:32PM +0100, Al Viro wrote:
> > > > BTW, what happens if we insert
On Thu, Aug 02, 2018 at 06:16:48PM +0200, Christoph Hellwig wrote:
> On Thu, Aug 02, 2018 at 05:08:38PM +0100, Al Viro wrote:
> > On Thu, Aug 02, 2018 at 06:08:16PM +0200, Christoph Hellwig wrote:
> > > On Thu, Aug 02, 2018 at 05:00:32PM +0100, Al Viro wrote:
> > > > BTW, what happens if we insert
On Thu, Aug 02, 2018 at 05:08:38PM +0100, Al Viro wrote:
> On Thu, Aug 02, 2018 at 06:08:16PM +0200, Christoph Hellwig wrote:
> > On Thu, Aug 02, 2018 at 05:00:32PM +0100, Al Viro wrote:
> > > BTW, what happens if we insert into one queue and immediately get
> > > woken up, even before the damn
On Thu, Aug 02, 2018 at 05:08:38PM +0100, Al Viro wrote:
> On Thu, Aug 02, 2018 at 06:08:16PM +0200, Christoph Hellwig wrote:
> > On Thu, Aug 02, 2018 at 05:00:32PM +0100, Al Viro wrote:
> > > BTW, what happens if we insert into one queue and immediately get
> > > woken up, even before the damn
On Thu, Aug 02, 2018 at 06:08:16PM +0200, Christoph Hellwig wrote:
> On Thu, Aug 02, 2018 at 05:00:32PM +0100, Al Viro wrote:
> > BTW, what happens if we insert into one queue and immediately get
> > woken up, even before the damn thing gets to the end of ->poll(),
> > which proceeds to call
On Thu, Aug 02, 2018 at 06:08:16PM +0200, Christoph Hellwig wrote:
> On Thu, Aug 02, 2018 at 05:00:32PM +0100, Al Viro wrote:
> > BTW, what happens if we insert into one queue and immediately get
> > woken up, even before the damn thing gets to the end of ->poll(),
> > which proceeds to call
On Thu, Aug 02, 2018 at 05:00:32PM +0100, Al Viro wrote:
> BTW, what happens if we insert into one queue and immediately get
> woken up, even before the damn thing gets to the end of ->poll(),
> which proceeds to call poll_wait() again (on another queue)?
> AFAICS, apt.error will be set by the
On Thu, Aug 02, 2018 at 05:00:32PM +0100, Al Viro wrote:
> BTW, what happens if we insert into one queue and immediately get
> woken up, even before the damn thing gets to the end of ->poll(),
> which proceeds to call poll_wait() again (on another queue)?
> AFAICS, apt.error will be set by the
On Thu, Aug 02, 2018 at 11:22:34AM +0200, Christoph Hellwig wrote:
> Yes, I think you are right. I'll see how I could handle that case.
> One of the easiest options would be to just support aio poll on
> file ops that support keyed wakeups, we'd just need to pass that
> information up.
BTW, what
On Thu, Aug 02, 2018 at 11:22:34AM +0200, Christoph Hellwig wrote:
> Yes, I think you are right. I'll see how I could handle that case.
> One of the easiest options would be to just support aio poll on
> file ops that support keyed wakeups, we'd just need to pass that
> information up.
BTW, what
On Thu, Aug 02, 2018 at 01:21:22AM +0100, Al Viro wrote:
> So what happens if
> * we call aio_poll(), add the sucker to queue and see that we need
> to wait
> * add to ->active_refs just as the wakeup comes
active_reqs I guess..
> * wakeup removes from queue and hits
On Thu, Aug 02, 2018 at 01:21:22AM +0100, Al Viro wrote:
> So what happens if
> * we call aio_poll(), add the sucker to queue and see that we need
> to wait
> * add to ->active_refs just as the wakeup comes
active_reqs I guess..
> * wakeup removes from queue and hits
On Thu, Aug 02, 2018 at 12:54:12AM +0100, Al Viro wrote:
> On Mon, Jul 30, 2018 at 09:15:43AM +0200, Christoph Hellwig wrote:
>
> > + apt.error = -EINVAL; /* same as no support for IOCB_CMD_POLL */
>
> > + mask = vfs_poll(req->file, ) & req->events;
> > + if (mask || apt.error) {
> > +
On Thu, Aug 02, 2018 at 12:54:12AM +0100, Al Viro wrote:
> On Mon, Jul 30, 2018 at 09:15:43AM +0200, Christoph Hellwig wrote:
>
> > + apt.error = -EINVAL; /* same as no support for IOCB_CMD_POLL */
>
> > + mask = vfs_poll(req->file, ) & req->events;
> > + if (mask || apt.error) {
> > +
On Mon, Jul 30, 2018 at 09:15:43AM +0200, Christoph Hellwig wrote:
> +static void aio_poll_complete_work(struct work_struct *work)
> +{
> + struct poll_iocb *req = container_of(work, struct poll_iocb, work);
> + struct aio_kiocb *iocb = container_of(req, struct aio_kiocb, poll);
> +
On Mon, Jul 30, 2018 at 09:15:43AM +0200, Christoph Hellwig wrote:
> +static void aio_poll_complete_work(struct work_struct *work)
> +{
> + struct poll_iocb *req = container_of(work, struct poll_iocb, work);
> + struct aio_kiocb *iocb = container_of(req, struct aio_kiocb, poll);
> +
On Mon, Jul 30, 2018 at 09:15:43AM +0200, Christoph Hellwig wrote:
> + apt.error = -EINVAL; /* same as no support for IOCB_CMD_POLL */
> + mask = vfs_poll(req->file, ) & req->events;
> + if (mask || apt.error) {
> + bool removed = false;
> +
> + /* we did not
On Mon, Jul 30, 2018 at 09:15:43AM +0200, Christoph Hellwig wrote:
> + apt.error = -EINVAL; /* same as no support for IOCB_CMD_POLL */
> + mask = vfs_poll(req->file, ) & req->events;
> + if (mask || apt.error) {
> + bool removed = false;
> +
> + /* we did not
Simple one-shot poll through the io_submit() interface. To poll for
a file descriptor the application should submit an iocb of type
IOCB_CMD_POLL. It will poll the fd for the events specified in the
the first 32 bits of the aio_buf field of the iocb.
Unlike poll or epoll without EPOLLONESHOT
Simple one-shot poll through the io_submit() interface. To poll for
a file descriptor the application should submit an iocb of type
IOCB_CMD_POLL. It will poll the fd for the events specified in the
the first 32 bits of the aio_buf field of the iocb.
Unlike poll or epoll without EPOLLONESHOT
Simple one-shot poll through the io_submit() interface. To poll for
a file descriptor the application should submit an iocb of type
IOCB_CMD_POLL. It will poll the fd for the events specified in the
the first 32 bits of the aio_buf field of the iocb.
Unlike poll or epoll without EPOLLONESHOT
Simple one-shot poll through the io_submit() interface. To poll for
a file descriptor the application should submit an iocb of type
IOCB_CMD_POLL. It will poll the fd for the events specified in the
the first 32 bits of the aio_buf field of the iocb.
Unlike poll or epoll without EPOLLONESHOT
24 matches
Mail list logo