mbox series

[bpf-next,0/2] xsk: introduce generic almost-zerocopy xmit

Message ID 20210330231528.546284-1-alobakin@pm.me (mailing list archive)
Headers show
Series xsk: introduce generic almost-zerocopy xmit | expand

Message

Alexander Lobakin March 30, 2021, 11:15 p.m. UTC
This series is based on the exceptional generic zerocopy xmit logics
initially introduced by Xuan Zhuo. It extends it the way that it
could cover all the sane drivers, not only the ones that are capable
of xmitting skbs with no linear space.

The first patch is a random while-we-are-here improvement over
full-copy path, and the second is the main course. See the individual
commit messages for the details.

The original (full-zerocopy) path is still here and still generally
faster, but for now it seems like virtio_net will remain the only
user of it, at least for a considerable period of time.

Alexander Lobakin (2):
  xsk: speed-up generic full-copy xmit
  xsk: introduce generic almost-zerocopy xmit

 net/xdp/xsk.c | 33 +++++++++++++++++++++++----------
 1 file changed, 23 insertions(+), 10 deletions(-)

--
Well, this is untested. I currently don't have an access to my setup
and is bound by moving to another country, but as I don't know for
sure at the moment when I'll get back to work on the kernel next time,
I found it worthy to publish this now -- if any further changes will
be required when I already will be out-of-sight, maybe someone could
carry on to make a another revision and so on (I'm still here for any
questions, comments, reviews and improvements till the end of this
week).
But this *should* work with all the sane drivers. If a particular
one won't handle this, it's likely ill.
--
2.31.1

Comments

Magnus Karlsson March 31, 2021, 9:44 a.m. UTC | #1
On Wed, Mar 31, 2021 at 1:17 AM Alexander Lobakin <alobakin@pm.me> wrote:
>
> This series is based on the exceptional generic zerocopy xmit logics
> initially introduced by Xuan Zhuo. It extends it the way that it
> could cover all the sane drivers, not only the ones that are capable
> of xmitting skbs with no linear space.
>
> The first patch is a random while-we-are-here improvement over
> full-copy path, and the second is the main course. See the individual
> commit messages for the details.
>
> The original (full-zerocopy) path is still here and still generally
> faster, but for now it seems like virtio_net will remain the only
> user of it, at least for a considerable period of time.
>
> Alexander Lobakin (2):
>   xsk: speed-up generic full-copy xmit
>   xsk: introduce generic almost-zerocopy xmit
>
>  net/xdp/xsk.c | 33 +++++++++++++++++++++++----------
>  1 file changed, 23 insertions(+), 10 deletions(-)
>
> --
> Well, this is untested. I currently don't have an access to my setup
> and is bound by moving to another country, but as I don't know for
> sure at the moment when I'll get back to work on the kernel next time,
> I found it worthy to publish this now -- if any further changes will
> be required when I already will be out-of-sight, maybe someone could
> carry on to make a another revision and so on (I'm still here for any
> questions, comments, reviews and improvements till the end of this
> week).
> But this *should* work with all the sane drivers. If a particular
> one won't handle this, it's likely ill.

Thanks Alexander. I will take your patches for a spin on a couple of
NICs and get back to you, though it will be next week due to holidays
where I am based.

> --
> 2.31.1
>
>
Alexander Lobakin March 31, 2021, 12:01 p.m. UTC | #2
From: Magnus Karlsson <magnus.karlsson@gmail.com>
Date: Wed, 31 Mar 2021 11:44:45 +0200

> On Wed, Mar 31, 2021 at 1:17 AM Alexander Lobakin <alobakin@pm.me> wrote:
> >
> > This series is based on the exceptional generic zerocopy xmit logics
> > initially introduced by Xuan Zhuo. It extends it the way that it
> > could cover all the sane drivers, not only the ones that are capable
> > of xmitting skbs with no linear space.
> >
> > The first patch is a random while-we-are-here improvement over
> > full-copy path, and the second is the main course. See the individual
> > commit messages for the details.
> >
> > The original (full-zerocopy) path is still here and still generally
> > faster, but for now it seems like virtio_net will remain the only
> > user of it, at least for a considerable period of time.
> >
> > Alexander Lobakin (2):
> >   xsk: speed-up generic full-copy xmit
> >   xsk: introduce generic almost-zerocopy xmit
> >
> >  net/xdp/xsk.c | 33 +++++++++++++++++++++++----------
> >  1 file changed, 23 insertions(+), 10 deletions(-)
> >
> > --
> > Well, this is untested. I currently don't have an access to my setup
> > and is bound by moving to another country, but as I don't know for
> > sure at the moment when I'll get back to work on the kernel next time,
> > I found it worthy to publish this now -- if any further changes will
> > be required when I already will be out-of-sight, maybe someone could
> > carry on to make a another revision and so on (I'm still here for any
> > questions, comments, reviews and improvements till the end of this
> > week).
> > But this *should* work with all the sane drivers. If a particular
> > one won't handle this, it's likely ill.
>
> Thanks Alexander. I will take your patches for a spin on a couple of
> NICs and get back to you, though it will be next week due to holidays
> where I am based.

Thanks a lot! Any tests will be much appreciated.
I'll publish v2 in a moment though, want to drop a couple of
micro-optimizations.

> > --
> > 2.31.1

Al