[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0702051121420.14453@alien.or.mcafeemobile.com>
Date: Mon, 5 Feb 2007 11:26:23 -0800 (PST)
From: Davide Libenzi <davidel@...ilserver.org>
To: Zach Brown <zach.brown@...cle.com>
cc: Ingo Molnar <mingo@...e.hu>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-aio@...ck.org, Suparna Bhattacharya <suparna@...ibm.com>,
Benjamin LaHaise <bcrl@...ck.org>
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists