[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070301083806.GF7217@2ka.mipt.ru>
Date: Thu, 1 Mar 2007 11:38:06 +0300
From: Evgeniy Polyakov <johnpol@....mipt.ru>
To: Davide Libenzi <davidel@...ilserver.org>
Cc: Chris Friesen <cfriesen@...tel.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ingo Molnar <mingo@...e.hu>,
Ulrich Drepper <drepper@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Arjan van de Ven <arjan@...radead.org>,
Christoph Hellwig <hch@...radead.org>,
Andrew Morton <akpm@....com.au>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Zach Brown <zach.brown@...cle.com>,
"David S. Miller" <davem@...emloft.net>,
Suparna Bhattacharya <suparna@...ibm.com>,
Jens Axboe <jens.axboe@...cle.com>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
On Wed, Feb 28, 2007 at 11:42:24AM -0800, Davide Libenzi (davidel@...ilserver.org) wrote:
> On Wed, 28 Feb 2007, Chris Friesen wrote:
>
> > Davide Libenzi wrote:
> >
> > > struct async_syscall {
> > > unsigned long nr_sysc;
> > > unsigned long params[8];
> > > long *result;
> > > };
> > >
> > > And what would async_wait() return bak? Pointers to "struct async_syscall"
> > > or pointers to "result"?
> >
> > Either one has downsides. Pointer to struct async_syscall requires that the
> > caller keep the struct around. Pointer to result requires that the caller
> > always reserve a location for the result.
> >
> > Does the kernel care about the (possibly rare) case of callers that don't want
> > to pay attention to result? If so, what about adding some kind of
> > caller-specified handle to struct async_syscall, and having async_wait()
> > return the handle? In the case where the caller does care about the result,
> > the handle could just be the address of result.
>
> Something like this (with async_wait() returning asynid's)?
>
> struct async_syscall {
> long *result;
> unsigned long asynid;
> unsigned long nr_sysc;
> unsigned long params[8];
> };
Having result pointer as NULL might imply that result is not interested
in and thus it can be discarded and event async syscall will not be
returned through aync_wait().
More flexible is having request flags field in the structure.
> - Davide
>
--
Evgeniy Polyakov
-
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