On 2018年03月19日 18:10, Jesper Dangaard Brouer wrote:
On Fri, 16 Mar 2018 17:04:17 +0800
Jason Wang <jasow...@redhat.com> 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 see.


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.


Yes, please do it or add a comment somewhere.

Thanks

Reply via email to