From: Christoph Hellwig <hch@lst.de>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Christoph Hellwig <hch@lst.de>,
viro@zeniv.linux.org.uk, Avi Kivity <avi@scylladb.com>,
linux-aio@kvack.org, linux-fsdevel@vger.kernel.org,
linux-api@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 8/9] aio: implement io_pgetevents
Date: Wed, 21 Mar 2018 10:29:26 +0100 [thread overview]
Message-ID: <20180321092925.GA7265@lst.de> (raw)
In-Reply-To: <20180321092443.GQ14085@kroah.com>
On Wed, Mar 21, 2018 at 10:24:43AM +0100, Greg KH wrote:
> On Wed, Mar 21, 2018 at 08:32:31AM +0100, Christoph Hellwig wrote:
> > This is the io_getevents equivalent of ppoll/pselect and allows to
> > properly mix signals and aio completions (especially with IOCB_CMD_POLL)
> > and atomically executes the following sequence:
> >
> > sigset_t origmask;
> >
> > pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);
> > ret = io_getevents(ctx, min_nr, nr, events, timeout);
> > pthread_sigmask(SIG_SETMASK, &origmask, NULL);
> >
> > Note that unlike many other signal related calls we do not pass a sigmask
> > size, as that would get us to 7 arguments, which aren't easily supported
> > by the syscall infrastructure. It seems a lot less painful to just add a
> > new syscall variant in the unlikely case we're going to increase the
> > sigset size.
>
> Do we have a manpage for this new syscall and maybe a test program for
> it so we can exercise it as part of the kselftests?
The man page and test cases where submitted to libaio:
http://git.infradead.org/users/hch/libaio.git/shortlog/refs/heads/aio-poll
In the meantime the man page apparently moved to man-pages, I'll do that
work once we make some forward progress.
> And do we really need a compat thunk for a new syscall? Ugh, I guess
> it's needed due to the long mess, right? No way to just define it the
> same way for both arch sizes?
Not without making it a pain to use. It should be a drop-in enhancement
to the existing aio abis, which all work on these types.
--
To unsubscribe, send a message with 'unsubscribe linux-aio' in
the body to majordomo@kvack.org. For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Christoph Hellwig <hch@lst.de>,
viro@zeniv.linux.org.uk, Avi Kivity <avi@scylladb.com>,
linux-aio@kvack.org, linux-fsdevel@vger.kernel.org,
linux-api@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 8/9] aio: implement io_pgetevents
Date: Wed, 21 Mar 2018 10:29:26 +0100 [thread overview]
Message-ID: <20180321092925.GA7265@lst.de> (raw)
In-Reply-To: <20180321092443.GQ14085@kroah.com>
On Wed, Mar 21, 2018 at 10:24:43AM +0100, Greg KH wrote:
> On Wed, Mar 21, 2018 at 08:32:31AM +0100, Christoph Hellwig wrote:
> > This is the io_getevents equivalent of ppoll/pselect and allows to
> > properly mix signals and aio completions (especially with IOCB_CMD_POLL)
> > and atomically executes the following sequence:
> >
> > sigset_t origmask;
> >
> > pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);
> > ret = io_getevents(ctx, min_nr, nr, events, timeout);
> > pthread_sigmask(SIG_SETMASK, &origmask, NULL);
> >
> > Note that unlike many other signal related calls we do not pass a sigmask
> > size, as that would get us to 7 arguments, which aren't easily supported
> > by the syscall infrastructure. It seems a lot less painful to just add a
> > new syscall variant in the unlikely case we're going to increase the
> > sigset size.
>
> Do we have a manpage for this new syscall and maybe a test program for
> it so we can exercise it as part of the kselftests?
The man page and test cases where submitted to libaio:
http://git.infradead.org/users/hch/libaio.git/shortlog/refs/heads/aio-poll
In the meantime the man page apparently moved to man-pages, I'll do that
work once we make some forward progress.
> And do we really need a compat thunk for a new syscall? Ugh, I guess
> it's needed due to the long mess, right? No way to just define it the
> same way for both arch sizes?
Not without making it a pain to use. It should be a drop-in enhancement
to the existing aio abis, which all work on these types.
next prev parent reply other threads:[~2018-03-21 9:29 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-21 7:32 io_pgetevents & aio fsync Christoph Hellwig
2018-03-21 7:32 ` Christoph Hellwig
2018-03-21 7:32 ` [PATCH 1/9] aio: don't print the page size at boot time Christoph Hellwig
2018-03-21 7:32 ` Christoph Hellwig
2018-03-21 9:12 ` Greg KH
2018-03-21 9:12 ` Greg KH
2018-03-21 7:32 ` [PATCH 2/9] aio: remove an outdated comment in aio_complete Christoph Hellwig
2018-03-21 7:32 ` Christoph Hellwig
2018-03-21 9:14 ` Greg KH
2018-03-21 9:14 ` Greg KH
2018-03-21 9:17 ` Christoph Hellwig
2018-03-21 9:17 ` Christoph Hellwig
2018-03-21 7:32 ` [PATCH 3/9] aio: refactor read/write iocb setup Christoph Hellwig
2018-03-21 7:32 ` Christoph Hellwig
2018-03-21 9:15 ` Greg KH
2018-03-21 9:15 ` Greg KH
2018-03-21 7:32 ` [PATCH 4/9] aio: sanitize ki_list handling Christoph Hellwig
2018-03-21 7:32 ` Christoph Hellwig
2018-03-21 9:16 ` Greg KH
2018-03-21 9:16 ` Greg KH
2018-03-22 15:24 ` Al Viro
2018-03-22 15:24 ` Al Viro
2018-03-22 17:04 ` Christoph Hellwig
2018-03-22 17:04 ` Christoph Hellwig
2018-03-21 7:32 ` [PATCH 5/9] aio: simplify cancellation Christoph Hellwig
2018-03-21 7:32 ` Christoph Hellwig
2018-03-21 9:17 ` Greg KH
2018-03-21 9:17 ` Greg KH
2018-03-21 16:23 ` Darrick J. Wong
2018-03-21 16:23 ` Darrick J. Wong
2018-03-21 7:32 ` [PATCH 6/9] aio: delete iocbs from the active_reqs list in kiocb_cancel Christoph Hellwig
2018-03-21 7:32 ` Christoph Hellwig
2018-03-21 9:17 ` Greg KH
2018-03-21 9:17 ` Greg KH
2018-03-21 16:23 ` Darrick J. Wong
2018-03-21 16:23 ` Darrick J. Wong
2018-03-21 7:32 ` [PATCH 7/9] aio: add delayed cancel support Christoph Hellwig
2018-03-21 7:32 ` Christoph Hellwig
2018-03-21 9:18 ` Greg KH
2018-03-21 9:18 ` Greg KH
2018-03-21 16:23 ` Darrick J. Wong
2018-03-21 16:23 ` Darrick J. Wong
2018-03-22 16:33 ` Al Viro
2018-03-22 16:33 ` Al Viro
2018-03-21 7:32 ` [PATCH 8/9] aio: implement io_pgetevents Christoph Hellwig
2018-03-21 7:32 ` Christoph Hellwig
2018-03-21 9:24 ` Greg KH
2018-03-21 9:24 ` Greg KH
2018-03-21 9:29 ` Christoph Hellwig [this message]
2018-03-21 9:29 ` Christoph Hellwig
2018-03-21 14:39 ` Greg KH
2018-03-21 14:39 ` Greg KH
2018-03-21 16:26 ` Darrick J. Wong
2018-03-21 16:26 ` Darrick J. Wong
2018-03-21 7:32 ` [PATCH 9/9] aio: implement IOCB_CMD_FSYNC and IOCB_CMD_FDSYNC Christoph Hellwig
2018-03-21 7:32 ` Christoph Hellwig
2018-03-21 9:27 ` Greg KH
2018-03-21 9:27 ` Greg KH
2018-03-21 9:30 ` Christoph Hellwig
2018-03-21 9:30 ` Christoph Hellwig
2018-03-21 16:26 ` Darrick J. Wong
2018-03-21 16:26 ` Darrick J. Wong
2018-03-22 16:36 ` io_pgetevents & aio fsync Al Viro
2018-03-22 16:36 ` Al Viro
2018-03-22 16:36 ` Al Viro
2018-03-22 16:36 ` Al Viro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180321092925.GA7265@lst.de \
--to=hch@lst.de \
--cc=avi@scylladb.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-aio@kvack.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.