All of lore.kernel.org
 help / color / mirror / Atom feed
From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: Alan <alan@lxorguk.ukuu.org.uk>
Cc: Andi Kleen <ak@suse.de>, David Miller <davem@davemloft.net>,
	Ulrich Drepper <drepper@redhat.com>,
	Andrew Morton <akpm@osdl.org>, netdev <netdev@vger.kernel.org>,
	Zach Brown <zach.brown@oracle.com>,
	Christoph Hellwig <hch@infradead.org>,
	Chase Venters <chase.venters@clientec.com>,
	Johann Borck <johann.borck@densedata.com>,
	linux-kernel@vger.kernel.org, Jeff Garzik <jeff@garzik.org>,
	Jamal Hadi Salim <hadi@cyberus.ca>, Ingo Molnar <mingo@elte.hu>,
	linux-fsdevel@vger.kernel.org
Subject: Re: [take36 10/10] kevent: Kevent based generic AIO.
Date: Mon, 12 Feb 2007 16:24:21 +0300	[thread overview]
Message-ID: <20070212132421.GA7578@2ka.mipt.ru> (raw)
In-Reply-To: <20070212131257.565f8066@localhost.localdomain>

On Mon, Feb 12, 2007 at 01:12:57PM +0000, Alan (alan@lxorguk.ukuu.org.uk) wrote:
> > I'm sure others would want them then for their favourite system call combo
> > too. If they were really useful it might make more sense to have a batch() 
> > system call that works for arbitary calls, but I'm not convinced yet
> > it's even needed. It would be certainly ugly.
> 
> batch() would possibly make a lot of sense in terms of the fibril/thread
> based removal for the need for all the AIO stuff, just to provide a
> natural way to group and order sequences of synchronous operations into
> asynchronous groups.
> 
> I am extremely sceptical about the need for aio_sendfile_path since with
> sendfile/sendpath hacking around there didn't seem to be much gain.
> 
> I'm even more sceptical of the header buffer stuff as while other OS's do
> that as a hack to make TCP packetising work we simply fixed the root
> problem with TCP_CORK

Well, that does not matter that much - that syscall is an example of how
kevent AIO state machine works - it trivially allows to have async
open/send/sendfile/close like aio_senfile_path.

I would remove header too (it was not there in the first release, added
on request), but the whole idea of async open/send/close seems natural 
for web-like workloads, when user should not even care about proper state 
machine.

Having batch() mode would be good too - with kevent state machine it is
quite trivially: 
req = kaio_add_call(NULL, first_call)
kaio_append_call(req, second_call);
kaio_append_call(req, third_call);
...
kaio_schedule_req(req);

Yes, state machine handling requires additional code, but when it ends
up in faster processing implementation complexities deserve its price.

> Alan

-- 
	Evgeniy Polyakov

      reply	other threads:[~2007-02-12 13:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <11712796473213@2ka.mipt.ru>
2007-02-12 11:27 ` [take36 3/10] kevent: poll/select() notifications Evgeniy Polyakov
2007-02-12 11:27   ` [take36 4/10] kevent: Socket notifications Evgeniy Polyakov
2007-02-12 11:27     ` [take36 5/10] kevent: Timer notifications Evgeniy Polyakov
2007-02-12 11:27       ` [take36 6/10] kevent: Pipe notifications Evgeniy Polyakov
2007-02-12 11:27         ` [take36 7/10] kevent: Signal notifications Evgeniy Polyakov
2007-02-12 11:27           ` [take36 8/10] kevent: Kevent posix timer notifications Evgeniy Polyakov
2007-02-12 11:27             ` [take36 9/10] kevent: Private userspace notifications Evgeniy Polyakov
2007-02-12 11:27               ` [take36 10/10] kevent: Kevent based generic AIO Evgeniy Polyakov
2007-02-12 13:08                 ` Andi Kleen
2007-02-12 12:19                   ` Evgeniy Polyakov
2007-02-12 13:12                   ` Alan
2007-02-12 13:24                     ` Evgeniy Polyakov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070212132421.GA7578@2ka.mipt.ru \
    --to=johnpol@2ka.mipt.ru \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=chase.venters@clientec.com \
    --cc=davem@davemloft.net \
    --cc=drepper@redhat.com \
    --cc=hadi@cyberus.ca \
    --cc=hch@infradead.org \
    --cc=jeff@garzik.org \
    --cc=johann.borck@densedata.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=netdev@vger.kernel.org \
    --cc=zach.brown@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.