Re: [rfc] aio-core for 2.5.29 (Re: async-io API registration for 2.5.29)

Pavel Machek
2002-08-01T12:06:16Z

Hi!

> > > 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.

I believe Linus actually explained why "when" looks way better to him
than "timeout". [It does not skew, for example.]
Pavel
--
I'm pavel@ucw.cz. "In my country we have almost anarchy and I don't care."
Panos Katsaloulis describing me w.r.t. patents at discuss@linmodems.org