• David Wei's avatar
    page_pool: export page_pool_disable_direct_recycling() · d7f39aee
    David Wei authored
    56ef27e3 unexported page_pool_unlink_napi() and renamed it to
    page_pool_disable_direct_recycling(). This is because there was no
    in-tree user of page_pool_unlink_napi().
    
    Since then Rx queue API and an implementation in bnxt got merged. In the
    bnxt implementation, it broadly follows the following steps: allocate
    new queue memory + page pool, stop old rx queue, swap, then destroy old
    queue memory + page pool.
    
    The existing NAPI instance is re-used so when the old page pool that is
    no longer used but still linked to this shared NAPI instance is
    destroyed, it will trigger warnings.
    
    In my initial patches I unlinked a page pool from a NAPI instance
    directly. Instead, export page_pool_disable_direct_recycling() and call
    that instead to avoid having a driver touch a core struct.
    Suggested-by: default avatarJakub Kicinski <kuba@kernel.org>
    Signed-off-by: default avatarDavid Wei <dw@davidwei.uk>
    Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    d7f39aee
page_pool.c 28.4 KB