Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3

Linus Torvalds
2007-02-28T18:45:11Z

On Wed, 28 Feb 2007, Davide Libenzi wrote:
>
> Here we very much agree. The way I'd like it:
>
> struct async_syscall {
> unsigned long nr_sysc;
> unsigned long params[8];
> long result;
> };

No, the "result" needs to go somewhere else. The caller may be totally
uninterested in keeping the system call number or parameters around until
the operation completes, but if you put them in the same structure with
the result, you obviously cannot sanely get rid of them.

I also don't much like read-write interfaces (which the above would be:
the kernel would read most of the structure, and then write one member of
the structure).

It's entirely possible, for example, that the operation we submit is some
legacy "aio_read()", which has soem other structure layout than the new
one (but one field will be the result code).

Linus