On Mon, 5 Feb 2007, Zach Brown wrote: > > The normal and most optimal workflow should be a user-space ring-buffer > > of these constant-size struct async_syscall entries: > > > > struct async_syscall ringbuffer[1024]; > > > > LIST_HEAD(submitted); > > LIST_HEAD(pending); > > LIST_HEAD(completed); > > I strongly disagree here, and I'm hoping you're not as keen on this now -- > your reply to Matt gives me hope. > > As mentioned, that they complete out-of-order leads, at least, to having > separate submission and completion rings. I'm not sure a submission ring > makes any sense given the goal of processing the calls in submission and only > creating threads if it blocks. A simple copy of an array of these input > structs sounds fine to me.
The "result" of one async operation is basically a cookie and a result code. Eight or sixteen bytes at most. IMO, before going wacko designing complex shared userspace-kernel result buffers, I think it'd be better measuring the worth-value of the thing ;) - Davide - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/