lkml.org 
[lkml]   [2019]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] net: core: page_pool: add user refcnt and reintroduce page_pool_destroy
    On Tue, Jul 02, 2019 at 04:31:39PM +0200, Jesper Dangaard Brouer wrote:
    >From: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
    >
    >Jesper recently removed page_pool_destroy() (from driver invocation) and
    >moved shutdown and free of page_pool into xdp_rxq_info_unreg(), in-order to
    >handle in-flight packets/pages. This created an asymmetry in drivers
    >create/destroy pairs.
    >
    >This patch add page_pool user refcnt and reintroduce page_pool_destroy.
    >This serves two purposes, (1) simplify drivers error handling as driver now
    >drivers always calls page_pool_destroy() and don't need to track if
    >xdp_rxq_info_reg_mem_model() was unsuccessful. (2) allow special cases
    >where a single RX-queue (with a single page_pool) provides packets for two
    >net_device'es, and thus needs to register the same page_pool twice with two
    >xdp_rxq_info structures.

    As I tend to use xdp level patch there is no more reason to mention (2) case
    here. XDP patch serves it better and can prevent not only obj deletion but also
    pool flush, so, this one patch I could better leave only for (1) case.

    --
    Regards,
    Ivan Khoronzhuk

    \
     
     \ /
      Last update: 2019-07-02 16:45    [W:5.034 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site