Re: aio-core why not using SuS? [Re: [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29)]

Andrea Arcangeli
2002-08-16T01:53:00Z

On Thu, Aug 15, 2002 at 09:42:25PM -0400, Benjamin LaHaise wrote:
> Read it again. You've totally missed lio_listio. Also keep in mind what

you're saying you prefer glibc to wrap the aio_read/write/fsync and to
redirect all them to lio_listio after converting the iocb from user API to
kernel API, right? still I don't see why should we have different iocb,
I would understsand if you say we should simply overwrite aio_lio_opcode
inside the aio_read(3) inside glibc and to pass it over to kernel with a
single syscalls if it's low cost to just set the lio_opcode, but having
different data structures doesn't sounds the best still. I mean, it
would be nicer if things would be more consistent.

> happens with 4G/4G split for x86 which are needed to address the kernel
> virtual memory starvation issues.

I don't see how the flushing flood is related to this, this is a normal
syscall, any issue that applies to these aio_read/write/fsync should
apply to all other syscalls too. Also the 4G starvation will be more
likely fixed by x86-64 or in software by using a softpagesize larger
than 4k so that the mem_map array doesn't load all the zone_normal.
That'll break backwards compatibility w.r.t. to the page size offset but
it'll at least not generate a so significant performance regression for
syscall performance (again this is generic issue, not related to
async-io as far as I can tell).

Andrea