[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy |
Date: |
Wed, 8 Sep 2021 09:19:27 +0100 |
User-agent: |
Mutt/2.0.7 (2021-05-04) |
* Jason Wang (jasowang@redhat.com) wrote:
> On Wed, Sep 8, 2021 at 2:32 AM Peter Xu <peterx@redhat.com> wrote:
> >
> > On Thu, Sep 02, 2021 at 04:22:55AM -0300, Leonardo Bras Soares Passos wrote:
> > > > I don't think it is valid to unconditionally enable this feature due to
> > > > the
> > > > resource usage implications
> > > >
> > > > https://www.kernel.org/doc/html/v5.4/networking/msg_zerocopy.html
> > > >
> > > > "A zerocopy failure will return -1 with errno ENOBUFS. This happens
> > > > if the socket option was not set, the socket exceeds its optmem
> > > > limit or the user exceeds its ulimit on locked pages."
> > >
> > > You are correct, I unfortunately missed this part in the docs :(
> > >
> > > > The limit on locked pages is something that looks very likely to be
> > > > exceeded unless you happen to be running a QEMU config that already
> > > > implies locked memory (eg PCI assignment)
> > >
> > > Do you mean the limit an user has on locking memory?
> > >
> > > If so, that makes sense. I remember I needed to set the upper limit of
> > > locked
> > > memory for the user before using it, or adding a capability to qemu
> > > before.
> >
> > So I'm a bit confused on why MSG_ZEROCOPY requires checking RLIMIT_MEMLOCK.
> >
> > The thing is IIUC that's accounting for pinned pages only with either
> > mlock()
> > (FOLL_MLOCK) or vfio (FOLL_PIN).
> >
> > I don't really think MSG_ZEROCOPY is doing that at all... I'm looking at
> > __zerocopy_sg_from_iter() -> iov_iter_get_pages().
>
> It happens probably here:
>
> E.g
>
> __ip_append_data()
> msg_zerocopy_realloc()
> mm_account_pinned_pages()
When do they get uncounted? i.e. is it just the data that's in flight
that's marked as pinned?
Dave
> Thanks
>
> >
> > Say, I think there're plenty of iov_iter_get_pages() callers and normal
> > GUPs, I
> > think most of them do no need such accountings.
> >
> > --
> > Peter Xu
> >
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
- Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, (continued)
- Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, Leonardo Bras Soares Passos, 2021/09/02
- Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, Daniel P . Berrangé, 2021/09/02
- Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, Leonardo Bras Soares Passos, 2021/09/02
- Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, Daniel P . Berrangé, 2021/09/02
- Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, Leonardo Bras Soares Passos, 2021/09/02
- Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, Dr. David Alan Gilbert, 2021/09/07
Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, Peter Xu, 2021/09/07
Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy,
Dr. David Alan Gilbert <=
Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, Peter Xu, 2021/09/08
Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, Jason Wang, 2021/09/08
Re: [PATCH v1 3/3] migration: multifd: Enable zerocopy, Leonardo Bras Soares Passos, 2021/09/02