On Wed, Oct 14, 2015 at 9:27 PM, Rich Felker <dalias@libc.org> wrote:
On Wed, Oct 14, 2015 at 09:23:59PM +0200, Alex wrote:
> On Wed, Oct 14, 2015 at 9:14 PM, Rich Felker <dalias@libc.org> wrote:
>
> > On Wed, Oct 14, 2015 at 12:21:05PM +0200, Alex wrote:
> > > This has been an interesting exercise so far. Is there any other arch
> > which
> > > you think it would be worthwhile to develop a CFI generation script for?
> > It
> > > should be something which has enough users to avoid problems with bitrot.
> >
> > CFI is probably a lot less interesting on archs where you have a
> > plenty registers not to need to manipulate stack frames in asm
> > functions, since in that case the debugger mostly works fine without
> > CFI. I don't know right off which of the other archs have significant
> > amounts of asm that adjusts the stack pointer, but you could go
> > through and check them. Having ABI info for them all would be helpful;
> > I'm pasting my draft ABI reference (which might have errors) below.
>
> Fair enough. If it's not likely to help anyone, I'll leave the CFI
> generation here.
>
> Another idea: are you interested in an implementation of POSIX AIO which
> uses the native AIO syscalls? Bad idea?

Those syscalls have nothing at all to do with POSIX AIO. They're
completely different. :(

The interface presented by the raw syscalls is not the POSIX AIO interface, but I haven't seen any reason yet why io_setup, io_submit, io_getevents, etc. couldn't be used to implement the POSIX AIO interface. Is there such a reason?

The payoff would be that you wouldn't have to spawn a thread for each AIO operation. Instead, you could potentially spawn just one extra thread, which would run in a loop, calling io_getevents() and doing some recordkeeping each time an AIO operation completed.

AD