> Yeah, but that means the completion has to be delivered from process
> context. That's not what aio does today, and it'd be a real performance
> regression.
It'd only have to to complete from process context if it faults. The
cheapest possible delivery mechanism is simple cpu stores. In the
Yeah, but that means the completion has to be delivered from process
context. That's not what aio does today, and it'd be a real performance
regression.
It'd only have to to complete from process context if it faults. The
cheapest possible delivery mechanism is simple cpu stores. In the vast
On Wed, Oct 10, 2012 at 02:43:15PM -0700, Zach Brown wrote:
> > True. But that could be solved with a separate interface that either
> > doesn't use a context to submit a call synchronously, or uses an
> > implicit per thread context.
>
> Sure, but why bother if we can make the one submission
> True. But that could be solved with a separate interface that either
> doesn't use a context to submit a call synchronously, or uses an
> implicit per thread context.
Sure, but why bother if we can make the one submission interface fast
enough to satisfy quick callers? Less is more, and all
True. But that could be solved with a separate interface that either
doesn't use a context to submit a call synchronously, or uses an
implicit per thread context.
Sure, but why bother if we can make the one submission interface fast
enough to satisfy quick callers? Less is more, and all that.
On Wed, Oct 10, 2012 at 02:43:15PM -0700, Zach Brown wrote:
True. But that could be solved with a separate interface that either
doesn't use a context to submit a call synchronously, or uses an
implicit per thread context.
Sure, but why bother if we can make the one submission interface
On Tue, Oct 09, 2012 at 05:26:34PM -0700, Zach Brown wrote:
> > The AIO ringbuffer stuff just annoys me more than most
>
> Not more than everyone, though, I can personally promise you that :).
>
> > (it wasn't until
> > the other day that I realized it was actually exported to userspace...
> >
> The AIO ringbuffer stuff just annoys me more than most
Not more than everyone, though, I can personally promise you that :).
> (it wasn't until
> the other day that I realized it was actually exported to userspace...
> what led to figuring that out was noticing aio_context_t was a ulong,
> and
On Tue, Oct 09, 2012 at 04:10:59PM -0700, Zach Brown wrote:
> > Well, the ringbuffer does have those compat flags and incompat flags.
> > Which libaio conveniently doesn't check, but for what it does it
> > shouldn't really matter I guess.
>
> Well, the presumed point of the incompat flags would
> Well, the ringbuffer does have those compat flags and incompat flags.
> Which libaio conveniently doesn't check, but for what it does it
> shouldn't really matter I guess.
Well, the presumed point of the incompat flags would be to tell an app
that it isn't going to get what it expects! Ideally
On Tue, Oct 09, 2012 at 03:47:03PM -0700, Zach Brown wrote:
> > If libaio is the only thing in userspace looking at the ringbuffer, and
> > if I'm looking at the latest libaio code this shouldn't break
> > anything...
>
> We can't assume that libaio is the only thing in userspace using the
>
> If libaio is the only thing in userspace looking at the ringbuffer, and
> if I'm looking at the latest libaio code this shouldn't break
> anything...
We can't assume that libaio is the only thing in userspace using the
mapped buffer -- as scary a thought as that is :).
If we wanted to change
On Tue, Oct 09, 2012 at 11:37:53AM -0700, Zach Brown wrote:
> On Mon, Oct 08, 2012 at 11:39:20PM -0700, Kent Overstreet wrote:
> > Bunch of cleanup
>
> Ugh. That's way too much noisy change for one patch with no
> description. Break it up into functional pieces and actually describe
> them.
On Mon, Oct 08, 2012 at 11:39:20PM -0700, Kent Overstreet wrote:
> Bunch of cleanup
Ugh. That's way too much noisy change for one patch with no
description. Break it up into functional pieces and actually describe
them.
> events off the ringbuffer without racing with io_getevents().
Are you
Bunch of cleanup, and make it lockless so that userspace can safely pull
events off the ringbuffer without racing with io_getevents().
Signed-off-by: Kent Overstreet
---
fs/aio.c | 220 +-
1 file changed, 73 insertions(+), 147
Bunch of cleanup, and make it lockless so that userspace can safely pull
events off the ringbuffer without racing with io_getevents().
Signed-off-by: Kent Overstreet koverstr...@google.com
---
fs/aio.c | 220 +-
1 file changed, 73
On Mon, Oct 08, 2012 at 11:39:20PM -0700, Kent Overstreet wrote:
Bunch of cleanup
Ugh. That's way too much noisy change for one patch with no
description. Break it up into functional pieces and actually describe
them.
events off the ringbuffer without racing with io_getevents().
Are you
On Tue, Oct 09, 2012 at 11:37:53AM -0700, Zach Brown wrote:
On Mon, Oct 08, 2012 at 11:39:20PM -0700, Kent Overstreet wrote:
Bunch of cleanup
Ugh. That's way too much noisy change for one patch with no
description. Break it up into functional pieces and actually describe
them.
Heh, I
If libaio is the only thing in userspace looking at the ringbuffer, and
if I'm looking at the latest libaio code this shouldn't break
anything...
We can't assume that libaio is the only thing in userspace using the
mapped buffer -- as scary a thought as that is :).
If we wanted to change the
On Tue, Oct 09, 2012 at 03:47:03PM -0700, Zach Brown wrote:
If libaio is the only thing in userspace looking at the ringbuffer, and
if I'm looking at the latest libaio code this shouldn't break
anything...
We can't assume that libaio is the only thing in userspace using the
mapped buffer
Well, the ringbuffer does have those compat flags and incompat flags.
Which libaio conveniently doesn't check, but for what it does it
shouldn't really matter I guess.
Well, the presumed point of the incompat flags would be to tell an app
that it isn't going to get what it expects! Ideally
On Tue, Oct 09, 2012 at 04:10:59PM -0700, Zach Brown wrote:
Well, the ringbuffer does have those compat flags and incompat flags.
Which libaio conveniently doesn't check, but for what it does it
shouldn't really matter I guess.
Well, the presumed point of the incompat flags would be to
The AIO ringbuffer stuff just annoys me more than most
Not more than everyone, though, I can personally promise you that :).
(it wasn't until
the other day that I realized it was actually exported to userspace...
what led to figuring that out was noticing aio_context_t was a ulong,
and got
On Tue, Oct 09, 2012 at 05:26:34PM -0700, Zach Brown wrote:
The AIO ringbuffer stuff just annoys me more than most
Not more than everyone, though, I can personally promise you that :).
(it wasn't until
the other day that I realized it was actually exported to userspace...
what led to
24 matches
Mail list logo