mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Benjamin LaHaise <bcrl@redhat.com>
Cc: Linus Torvalds <torvalds@transmeta.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Chris Friesen <cfriesen@nortelnetworks.com>,
	Pavel Machek <pavel@elf.ucw.cz>,
	linux-kernel@vger.kernel.org, linux-aio@kvack.org
Subject: Re: aio-core why not using SuS? [Re: [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29)]
Date: Fri, 16 Aug 2002 04:32:10 +0200	[thread overview]
Message-ID: <20020816023210.GK14394@dualathlon.random> (raw)
In-Reply-To: <20020815220054.J29874@redhat.com>

On Thu, Aug 15, 2002 at 10:00:54PM -0400, Benjamin LaHaise wrote:
> On Fri, Aug 16, 2002 at 03:57:17AM +0200, Andrea Arcangeli wrote:
> > you're saying you prefer glibc to wrap the aio_read/write/fsync and to
> > redirect all them to lio_listio after converting the iocb from user API to
> > kernel API, right? still I don't see why should we have different iocb,
> > I would understsand if you say we should simply overwrite aio_lio_opcode
> > inside the aio_read(3) inside glibc and to pass it over to kernel with a
> > single syscalls if it's low cost to just set the lio_opcode, but having
> > different data structures doesn't sounds the best still. I mean, it
> > would be nicer if things would be more consistent.
> 
> The iocb is as minimally different from the posix aio api as possible.  The 
> main reason for the difference is that struct sigevent is unreasonably huge.  
> A lightweight posix aio implementation on top of the kernel API shares the 
> fields between the kernel iocb and the posix aiocb.

	/* extra parameters */
	__u64	aio_reserved2;	/* TODO: use this for a (struct sigevent *) */
	__u64	aio_reserved3;

so you want the conversion to only store the pointer (if any) for the
sigevent in the iocb, rather than the whole sigevent, right? This is an
argument that has technical sense and that I can happily buy for having
a different iocb. However your argument also depends having I/O
completion notification via signal is the common case or not. I guess in
theory it should be the common case for software designed for best
performance.

> 
> > I don't see how the flushing flood is related to this, this is a normal
> > syscall, any issue that applies to these aio_read/write/fsync should
> > apply to all other syscalls too. Also the 4G starvation will be more
> > likely fixed by x86-64 or in software by using a softpagesize larger
> > than 4k so that the mem_map array doesn't load all the zone_normal.
> 
> A 4G/4G split flushes the TLB on every syscall.

sure, that's why it's so slow. This applies to
read/writes/exceptions/interrupts and everything else kernel side.

Andrea

  parent reply	other threads:[~2002-08-16  2:27 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-30  5:41 async-io API registration for 2.5.29 Andrea Arcangeli
2002-07-30  8:11 ` Christoph Hellwig
2002-07-30 13:40   ` Linus Torvalds
2002-07-30 13:52     ` Benjamin LaHaise
2002-07-30 16:43   ` Andrea Arcangeli
2002-07-30 16:59     ` Benjamin LaHaise
2002-07-30 19:10       ` Jeff Dike
2002-07-30 18:09         ` Benjamin LaHaise
2002-07-30 18:15           ` Linus Torvalds
2002-07-30 18:31             ` Benjamin LaHaise
2002-07-30 20:57               ` Jeff Dike
2002-07-30 20:47           ` Jeff Dike
2002-07-30 21:26       ` Andrea Arcangeli
2002-07-30 10:50 ` Rik van Riel
2002-07-30 12:49 ` Benjamin LaHaise
2002-07-30 13:29   ` Suparna Bhattacharya
2002-07-30 21:41   ` Andrea Arcangeli
2002-07-30 21:54     ` [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29) Benjamin LaHaise
2002-07-31  0:44       ` Andrea Arcangeli
2002-07-31 14:46         ` Benjamin LaHaise
2002-07-31 16:31         ` Charles 'Buck' Krasic
2002-08-01 10:30         ` Pavel Machek
2002-08-01 14:47           ` Benjamin LaHaise
2002-08-01 15:00             ` Chris Friesen
2002-08-01 16:09               ` Linus Torvalds
2002-08-01 17:30                 ` Alan Cox
2002-08-01 16:30                   ` Linus Torvalds
2002-08-01 16:41                     ` [rfc] aio-core for 2.5.29 (Re: async-io API registration for2.5.29) Chris Friesen
2002-08-01 18:01                     ` [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29) Benjamin LaHaise
2002-08-15 23:54                       ` aio-core why not using SuS? [Re: [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29)] Andrea Arcangeli
2002-08-16  1:42                         ` Benjamin LaHaise
2002-08-16  1:57                           ` Andrea Arcangeli
2002-08-16  2:00                             ` Benjamin LaHaise
2002-08-16  2:08                               ` Linus Torvalds
2002-08-16  2:16                                 ` Benjamin LaHaise
2002-08-16  2:40                                   ` Andrea Arcangeli
2002-08-16  3:43                                   ` Linus Torvalds
2002-08-16  3:50                                     ` Linus Torvalds
2002-08-16  4:47                                       ` William Lee Irwin III
2002-08-17  3:46                                   ` Martin J. Bligh
2002-08-17  4:00                                     ` Linus Torvalds
2002-08-17  4:15                                       ` Martin J. Bligh
2002-08-17  4:46                                         ` Linus Torvalds
2001-11-02  5:12                                           ` Pavel Machek
2002-08-17  5:04                                           ` Linus Torvalds
2002-08-17  5:24                                             ` lots of mem on 32 bit machines (was: aio-core why not using SuS?) Martin J. Bligh
2002-08-17  5:12                                           ` aio-core why not using SuS? [Re: [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29)] Martin J. Bligh
2002-08-17 17:02                                             ` Linus Torvalds
2002-08-17 21:27                                               ` 32 bit arch with lots of RAM Martin J. Bligh
2002-08-22 16:30                                                 ` Andrea Arcangeli
2002-08-22 16:36                                                   ` Martin J. Bligh
2002-08-22 16:15                                               ` aio-core why not using SuS? [Re: [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29)] Andrea Arcangeli
2002-08-22 16:12                                             ` Andrea Arcangeli
2002-08-20  0:35                                           ` Ingo Molnar
2002-08-17  4:36                                       ` William Lee Irwin III
2002-08-16  2:32                                 ` Rik van Riel
2002-08-16  2:32                               ` Andrea Arcangeli [this message]
2002-08-16  9:39                           ` Suparna Bhattacharya
2002-08-16 10:03                             ` Andrea Arcangeli
2002-08-16 11:23                               ` Suparna Bhattacharya
2002-08-16 11:28                                 ` Suparna Bhattacharya
2002-08-16 13:49                                   ` Dan Kegel
2002-09-02 18:40                                 ` Andrea Arcangeli
2002-09-03 12:04                                   ` aio-core in 2.5 - io_queue_wait and io_getevents Suparna Bhattacharya
2002-09-05  5:21                                   ` aio-core why not using SuS? [Re: [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29)] Benjamin LaHaise
2002-08-16 13:43                             ` Dan Kegel
2002-08-16 14:21                               ` Jamie Lokier
2002-08-16 14:42                                 ` Benjamin LaHaise
2002-08-16 15:40                               ` John Gardiner Myers
2002-08-23 16:11                                 ` aio-core why not using SuS? [Re: [rfc] aio-core for 2.5.29 (Re:async-io " Dan Kegel
2002-08-16  1:53                         ` aio-core why not using SuS? [Re: [rfc] aio-core for 2.5.29 (Re: async-io " Dan Kegel
2002-08-01 19:18                     ` [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29) Chris Wedgwood
2002-08-01 19:25                       ` Linus Torvalds
2002-08-01 19:31                         ` Chris Wedgwood
2002-08-02  8:24                     ` Pavel Machek
2002-08-02 11:59                       ` Alan Cox
2002-08-02 15:56                         ` Linus Torvalds
2002-07-31  1:20     ` async-io API registration for 2.5.29 Rik van Riel
2002-07-31  1:32       ` Andrea Arcangeli
2002-07-31  8:25         ` Christoph Hellwig
2002-07-31 13:19           ` Andrea Arcangeli
2002-07-30 13:34 ` Linus Torvalds
2002-07-30 16:49   ` Andrea Arcangeli

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=20020816023210.GK14394@dualathlon.random \
    --to=andrea@suse.de \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bcrl@redhat.com \
    --cc=cfriesen@nortelnetworks.com \
    --cc=linux-aio@kvack.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@elf.ucw.cz \
    --cc=torvalds@transmeta.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome