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

From: Chris Friesen
Date: Wed Feb 28 2007 - 14:05:05 EST


Davide Libenzi wrote:

struct async_syscall {
unsigned long nr_sysc;
unsigned long params[8];
long *result;
};

And what would async_wait() return bak? Pointers to "struct async_syscall"
or pointers to "result"?

Either one has downsides. Pointer to struct async_syscall requires that the caller keep the struct around. Pointer to result requires that the caller always reserve a location for the result.

Does the kernel care about the (possibly rare) case of callers that don't want to pay attention to result? If so, what about adding some kind of caller-specified handle to struct async_syscall, and having async_wait() return the handle? In the case where the caller does care about the result, the handle could just be the address of result.

Chris



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/