public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Benjamin LaHaise <bcrl@redhat.com>
Cc: Linus Torvalds <torvalds@transmeta.com>,
	linux-kernel@vger.kernel.org, linux-aio@kvack.org
Subject: Re: [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29)
Date: Wed, 31 Jul 2002 02:44:51 +0200	[thread overview]
Message-ID: <20020731004451.GI1181@dualathlon.random> (raw)
In-Reply-To: <20020730175421.J10315@redhat.com>

On Tue, Jul 30, 2002 at 05:54:21PM -0400, Benjamin LaHaise wrote:
> On Tue, Jul 30, 2002 at 11:41:16PM +0200, Andrea Arcangeli wrote:
> > Can you point me out to a patch with the new cancellation API that you
> > agree with for merging in 2.5 so I can synchronize? I'm reading your
> > very latest patch loaded on some site in June. that will be really
> > helpful, many thanks!
> 
> Here is what I've got for the aio core that has the cancellation 
> change to return the completion event.  The other slight change that 
> I meant to get in before going into the mainstream is to have the 
> timeout io_getevents takes be an absolute timeout, which helps for 
> applications that have specific deadlines they are attempting to 
> schedule to (think video playback).  This drop is untested, but I'd 

are you sure this is a good idea? this adds an implicit gettimeofday
(thought no entry/exit kernel) to every getevents syscall with a
"when" specificed, so the user may now need to do gettimeofday both
externally and internally to use the previous "timeout" feature (given
the kernel can delay only of a timeout, so the kernel has to calculate
the timeout internally now). I guess I prefer the previous version that
had the "timeout" information instead of "when". Also many soft
multimedia only expect the timeout to take "timeout", and if a frame
skips they'll just slowdown the frame rate, so they won't be real time
but you'll see something on the screen/audio. Otherwise they can keep
timing out endlessy if they cannot keep up with the stream, and they
will show nothing rather than showing a low frame rate.

So I'm not very excited about this change, I would prefer the previous
version. Also consider with the vsyscall doing the gettimeofday
calculation in userspace based on "when" rather than in-kernel isn't
going to be more expensive than your new API even of applications that
really want the "when" behaviour instead of the "timeout". While the
applications that wants the "timeout" this way we'll be forced to a
vgettimeofday in userspace and one in kernel which is a pure overhead
for them.

So unless anybody can see a flaw in my reasoning, I would suggest you to
backout the "when" change and to resend to Linus.

Also the vsyscall sections would better be deleted instead of under #if
0.

Everything else looks great, thanks!

Andrea

  reply	other threads:[~2002-07-31  0:40 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 [this message]
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
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=20020731004451.GI1181@dualathlon.random \
    --to=andrea@suse.de \
    --cc=bcrl@redhat.com \
    --cc=linux-aio@kvack.org \
    --cc=linux-kernel@vger.kernel.org \
    --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