Subject: Re: [bpf-next V3 PATCH 00/15] XDP redirect memory return API

From: Jesper Dangaard Brouer <[email-masked]>
Date: Mon, 19 Mar 2018 11:10:57 +0100

On Fri, 16 Mar 2018 17:04:17 +0800
Jason Wang <[email-masked]> wrote:

> Looks like the series forget to register memory model for tun and 
> virtio-net.

Well, no.  It is actually not strictly necessary to invoke
xdp_rxq_info_reg_mem_model() because enum MEM_TYPE_PAGE_SHARED == 0.
And if not passing an allocator pointer to the call, then an mem_id is
not registered... and __xdp_return_frame() skips the rhashtable_lookup.

I designed the API this way, because I want to support later adding an
allocator even for the refcnt scheme MEM_TYPE_PAGE_SHARED.  (As it
would be a performance optimization to return the pages to the
originating RX-CPU, and move the page refcnt dec back to that orig CPU).

I did add an xdp_rxq_info_reg_mem_model() call to ixgbe, for human
programmer "documentation" even-though it isn't strickly necessary.  I
guess, I could add similar calls to tun and virtio_net, and then we
avoid any implicit assumptions. And makes it more clear that
XDP_REDIRECT support use the memory model return API.

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