Messages in this thread | | | Date | Sat, 3 Feb 2007 03:25:40 -0600 | From | Matt Mackall <> | Subject | Re: [PATCH 2 of 4] Introduce i386 fibril scheduling |
| |
On Sat, Feb 03, 2007 at 09:23:08AM +0100, Ingo Molnar 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);
It's wrong to call this a ring buffer as things won't be completed in any particular order. So you'll need a fourth list head for which buffer elements are free. At which point, you might as well leave it entirely up to the application to manage the allocation of async_syscall structs. It may know it only needs two, or ten thousand, or five per client...
-- Mathematics is the supreme nostalgia of our time. - 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/
| |