lkml.org 
[lkml]   [2021]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[PATCH v2 net-next 0/4] net: consolidate page_is_pfmemalloc() usage
page_is_pfmemalloc() is used mostly by networking drivers to test
if a page can be considered for reusing/recycling.
It doesn't write anything to the struct page itself, so its sole
argument can be constified, as well as the first argument of
skb_propagate_pfmemalloc().
In Page Pool core code, it can be simply inlined instead.
Most of the callers from NIC drivers were just doppelgangers of
the same condition tests. Derive them into a new common function
do deduplicate the code.

Since v1 [0]:
- new: reduce code duplication by introducing a new common function
to test if a page can be reused/recycled (David Rientjes);
- collect autographs for Page Pool bits (Jesper Dangaard Brouer,
Ilias Apalodimas).

[0] https://lore.kernel.org/netdev/20210125164612.243838-1-alobakin@pm.me

Alexander Lobakin (4):
mm: constify page_is_pfmemalloc() argument
skbuff: constify skb_propagate_pfmemalloc() "page" argument
net: introduce common dev_page_is_reserved()
net: page_pool: simplify page recycling condition tests

.../net/ethernet/hisilicon/hns3/hns3_enet.c | 10 ++--------
drivers/net/ethernet/intel/fm10k/fm10k_main.c | 9 ++-------
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 15 +--------------
drivers/net/ethernet/intel/iavf/iavf_txrx.c | 15 +--------------
drivers/net/ethernet/intel/ice/ice_txrx.c | 11 +----------
drivers/net/ethernet/intel/igb/igb_main.c | 7 +------
drivers/net/ethernet/intel/igc/igc_main.c | 7 +------
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 7 +------
.../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 7 +------
.../net/ethernet/mellanox/mlx5/core/en_rx.c | 7 +------
include/linux/mm.h | 2 +-
include/linux/skbuff.h | 19 +++++++++++++++++--
net/core/page_pool.c | 14 ++++----------
13 files changed, 34 insertions(+), 96 deletions(-)

--
2.30.0


\
 
 \ /
  Last update: 2021-01-27 21:13    [W:0.111 / U:2.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site