Re: [PATCH 2 of 4] Introduce i386 fibril scheduling

From: Davide Libenzi
Date: Mon Feb 05 2007 - 14:26:47 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/