[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 2/3] io: Add zerocopy and errqueue
From: |
Peter Xu |
Subject: |
Re: [PATCH v1 2/3] io: Add zerocopy and errqueue |
Date: |
Wed, 8 Sep 2021 11:24:05 -0400 |
On Wed, Sep 08, 2021 at 09:30:58AM +0100, Dr. David Alan Gilbert wrote:
> * Peter Xu (peterx@redhat.com) wrote:
> > On Tue, Sep 07, 2021 at 12:06:15PM +0100, Dr. David Alan Gilbert wrote:
> > > > > What if we do the 'flush()' before we start post-copy, instead of
> > > > > after each
> > > > > iteration? would that be enough?
> > > >
> > > > Possibly, yes. This really need David G's input since he understands
> > > > the code in way more detail than me.
> > >
> > > Hmm I'm not entirely sure why we have the sync after each iteration;
> >
> > We don't have that yet, do we?
>
> I think multifd does; I think it calls multifd_send_sync_main sometimes,
> which I *think* corresponds to iterations.
Oh.. Then we may need to:
(1) Make that sync work for zero-copy too; say, semaphores may not be enough
with it - we need to make sure all async buffers are consumed by checking
the error queue of the sockets,
(2) When we make zero-copy work without multi-fd, we may want some similar
sync on the main stream too
Thanks,
>
> Dave
>
> > > the case I can think of is if we're doing async sending, we could have
> > > two versions of the same page in flight (one from each iteration) -
> > > you'd want those to get there in the right order.
> >
> > From MSG_ZEROCOPY document:
> >
> > For protocols that acknowledge data in-order, like TCP, each
> > notification can be squashed into the previous one, so that no more
> > than one notification is outstanding at any one point.
> >
> > Ordered delivery is the common case, but not guaranteed.
> > Notifications
> > may arrive out of order on retransmission and socket teardown.
> >
> > So no matter whether we have a flush() per iteration before, it seems we may
> > want one when zero copy enabled?
> >
> > Thanks,
> >
> > --
> > Peter Xu
> >
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>
--
Peter Xu
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, (continued)
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Leonardo Bras Soares Passos, 2021/09/02
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Leonardo Bras Soares Passos, 2021/09/02
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Daniel P . Berrangé, 2021/09/02
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Leonardo Bras Soares Passos, 2021/09/02
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Daniel P . Berrangé, 2021/09/02
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Leonardo Bras Soares Passos, 2021/09/02
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Daniel P . Berrangé, 2021/09/02
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Dr. David Alan Gilbert, 2021/09/07
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Peter Xu, 2021/09/07
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Dr. David Alan Gilbert, 2021/09/08
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue,
Peter Xu <=
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Dr. David Alan Gilbert, 2021/09/09
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Leonardo Bras Soares Passos, 2021/09/08
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Peter Xu, 2021/09/08
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Daniel P . Berrangé, 2021/09/08
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Peter Xu, 2021/09/08
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Leonardo Bras Soares Passos, 2021/09/09
- Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Peter Xu, 2021/09/09
Re: [PATCH v1 2/3] io: Add zerocopy and errqueue, Leonardo Bras Soares Passos, 2021/09/02