Messages in this thread | | | Date | Mon, 5 Feb 2007 11:26:23 -0800 (PST) | From | Davide Libenzi <> | Subject | Re: [PATCH 2 of 4] Introduce i386 fibril scheduling |
| |
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/
| |