[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180321092925.GA7265@lst.de>
Date: Wed, 21 Mar 2018 10:29:26 +0100
From: Christoph Hellwig <hch@....de>
To: Greg KH <gregkh@...uxfoundation.org>
Cc: Christoph Hellwig <hch@....de>, viro@...iv.linux.org.uk,
Avi Kivity <avi@...lladb.com>, linux-aio@...ck.org,
linux-fsdevel@...r.kernel.org, linux-api@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 8/9] aio: implement io_pgetevents
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.
Powered by blists - more mailing lists