Re: [PATCH 8/9] aio: implement io_pgetevents

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 21, 2018 at 10:29:26AM +0100, Christoph Hellwig wrote:
> 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.

Great!

> > 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.

Ok, make sense, thanks.

greg k-h



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux