net: page_pool: stash the NAPI ID for easier access
To avoid any issues with race conditions on accessing napi and having to think about the lifetime of NAPI objects in netlink GET - stash the napi_id to which page pool was linked at creation time. Reviewed-by: Eric Dumazet <edumazet@google.com> Acked-by: Jesper Dangaard Brouer <hawk@kernel.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
083772c9f9
commit
02b3de80c5
@ -193,6 +193,7 @@ struct page_pool {
|
||||
/* User-facing fields, protected by page_pools_lock */
|
||||
struct {
|
||||
struct hlist_node list;
|
||||
u32 napi_id;
|
||||
u32 id;
|
||||
} user;
|
||||
};
|
||||
|
@ -37,9 +37,11 @@ int page_pool_list(struct page_pool *pool)
|
||||
if (err < 0)
|
||||
goto err_unlock;
|
||||
|
||||
if (pool->slow.netdev)
|
||||
if (pool->slow.netdev) {
|
||||
hlist_add_head(&pool->user.list,
|
||||
&pool->slow.netdev->page_pools);
|
||||
pool->user.napi_id = pool->p.napi ? pool->p.napi->napi_id : 0;
|
||||
}
|
||||
|
||||
mutex_unlock(&page_pools_lock);
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user