![]() | |||||||||||||
Messages in this thread |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2007-02-05 20:29 [from the cache] ©2003-2008 | |||||||||||||