This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Missing <aio_misc.h> exported header ?


Hi folks!,

On Sat, Sep 7, 2019 at 8:56 PM Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
> It would be possible to include them as GNU extension, but since our
> current implementation is just default synchronous IO implemented with
> thread operation you won't get much without some lacking kernel support
> (man(7) aio describe briefly the issue with an userland AIO implementation
> as done by glibc).

True. But this may ease the transition if the kernel does implement
proper aio primitives one day. If it even happens one day, of course
(which may never happen, as arguments exposed by the LWN article you
cite seem sound)

> Which is not true for glibc implementation, both calls are essentially the same

Thanks, I was fooled by my micro-benchmarks, and I'll revert not using
lio_listio() in such case.

But it might be sound to have a /consistent/ API anyway (ie. excluding
fsync primitives from lio_listio() is kind of a surprising choice ?)

> I really think it does not worth the development time to add sync operation
> extension as lio_listio at current state.

For the pthread version, it does already "work" (if you define the
special macros), but I admit it would require some official API
change/extension, documentation & testing..

> You may try to bring it to
> Austin Group, but I think POSIX AIO will be only a viable usage API once
> we get proper kernel support.

My understanding is that POSIX won't be interested at all until the
interface actually exist somewhere (ie. glibc); ie. the group
typically merge in the standard existing features, never original ones
as far as I know. But maybe this is not true for extensions ?

Thanks a lot for the detailed and thorough explanations!

-- 
Xavier Roche -


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]