netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jesper Dangaard Brouer <brouer@redhat.com>
To: Tom Herbert <tom@herbertland.com>
Cc: Saeed Mahameed <saeedm@dev.mellanox.co.il>,
	Saeed Mahameed <saeedm@mellanox.com>,
	Alexander Duyck <alexander.duyck@gmail.com>,
	Alexei Starovoitov <alexei.starovoitov@gmail.com>,
	John Fastabend <john.fastabend@gmail.com>,
	David Miller <davem@davemloft.net>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Brenden Blanco <bblanco@gmail.com>,
	brouer@redhat.com
Subject: Re: Focusing the XDP project
Date: Wed, 22 Feb 2017 10:43:28 +0100	[thread overview]
Message-ID: <20170222104328.4b9c6c5d@redhat.com> (raw)
In-Reply-To: <CALx6S37s=Kcy+wEbojVHjiAoLZC_4V5qzMLe=-QXtJYVtwTAew@mail.gmail.com>


On Tue, 21 Feb 2017 14:54:35 -0800 Tom Herbert <tom@herbertland.com> wrote:
> On Tue, Feb 21, 2017 at 2:29 PM, Saeed Mahameed <saeedm@dev.mellanox.co.il> wrote:
[...]
> > The only complexity XDP is adding to the drivers is the constrains on
> > RX memory management and memory model, calling the XDP program itself
> > and handling the  action is really a simple thing once you have the
> > correct memory model.

Exactly, that is why I've been looking at introducing a generic
facility for a memory model for drivers.  This should help simply
drivers.  Due to performance needs this need to be a very thin API layer
on top of the page allocator. (That's why I'm working with Mel Gorman
to get more close integration with the page allocator e.g. a bulking
facility).

> > Who knows! maybe someday XDP will define one unified RX API for all
> > drivers and it even will handle normal stack delivery it self :).
> >  
> That's exactly the point and what we need for TXDP. I'm missing why
> doing this is such rocket science other than the fact that all these
> drivers are vastly different and changing the existing API is
> unpleasant. The only functional complexity I see in creating a generic
> batching interface is handling return codes asynchronously. This is
> entirely feasible though...

I'll be happy as long as we get a batching interface, then we can
incrementally do the optimizations later.

In the future, I do hope (like Saeed) this RX API will evolve into
delivering (a bulk of) raw-packet-pages into the netstack, this should
simplify drivers, and we can keep the complexity and SKB allocations
out of the drivers.
To start with, we can play with doing this delivering (a bulk of)
raw-packet-pages into Tom's TXDP engine/system?

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer

  reply	other threads:[~2017-02-22  9:43 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-20 10:13 Focusing the XDP project Jesper Dangaard Brouer
2017-02-20 20:09 ` Alexander Duyck
2017-02-20 22:57   ` Saeed Mahameed
2017-02-20 23:40     ` Alexander Duyck
2017-02-21 23:08       ` Saeed Mahameed
2017-02-21 16:35     ` Tom Herbert
2017-02-21 16:46       ` David Miller
2017-02-21 17:40         ` Tom Herbert
2017-02-21 18:11           ` David Miller
2017-02-21 18:23             ` Tom Herbert
2017-02-21 22:40           ` Saeed Mahameed
2017-02-21 23:04             ` Tom Herbert
2017-02-21 22:29       ` Saeed Mahameed
2017-02-21 22:54         ` Tom Herbert
2017-02-22  9:43           ` Jesper Dangaard Brouer [this message]
2017-02-22 17:22             ` Tom Herbert
2017-02-22 21:43               ` Jesper Dangaard Brouer
2017-02-22 22:08                 ` Tom Herbert
2017-02-20 23:39   ` Jesper Dangaard Brouer
2017-02-21  0:39     ` Alexander Duyck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170222104328.4b9c6c5d@redhat.com \
    --to=brouer@redhat.com \
    --cc=alexander.duyck@gmail.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=bblanco@gmail.com \
    --cc=davem@davemloft.net \
    --cc=john.fastabend@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=saeedm@dev.mellanox.co.il \
    --cc=saeedm@mellanox.com \
    --cc=tom@herbertland.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).