All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 net-next 0/5] net: consolidate page_is_pfmemalloc() usage
@ 2021-01-31 12:11 ` Alexander Lobakin
  0 siblings, 0 replies; 24+ messages in thread
From: Alexander Lobakin @ 2021-01-31 12:11 UTC (permalink / raw)
  To: David S. Miller, Jakub Kicinski
  Cc: John Hubbard, David Rientjes, Yisen Zhuang, Salil Mehta,
	Jesse Brandeburg, Tony Nguyen, Saeed Mahameed, Leon Romanovsky,
	Andrew Morton, Jesper Dangaard Brouer, Ilias Apalodimas,
	Jonathan Lemon, Willem de Bruijn, Randy Dunlap,
	Pablo Neira Ayuso, Dexuan Cui, Jakub Sitnicki, Marco Elver,
	Paolo Abeni, Alexander Lobakin, netdev, linux-kernel,
	intel-wired-lan, linux-rdma, linux-mm

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 v2 [1]:
 - use more intuitive name for the new inline function since there's
   nothing "reserved" in remote pages (Jakub Kicinski, John Hubbard);
 - fold likely() inside the helper itself to make driver code a bit
   fancier (Jakub Kicinski);
 - split function introduction and using into two separate commits;
 - collect some more tags (Jesse Brandeburg, David Rientjes).

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
[1] https://lore.kernel.org/netdev/20210127201031.98544-1-alobakin@pm.me

Alexander Lobakin (5):
  mm: constify page_is_pfmemalloc() argument
  skbuff: constify skb_propagate_pfmemalloc() "page" argument
  net: introduce common dev_page_is_reusable()
  net: use the new dev_page_is_reusable() instead of private versions
  net: page_pool: simplify page recycling condition tests

 .../net/ethernet/hisilicon/hns3/hns3_enet.c   | 17 ++++++----------
 drivers/net/ethernet/intel/fm10k/fm10k_main.c | 13 ++++--------
 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     | 13 ++----------
 drivers/net/ethernet/intel/igb/igb_main.c     |  9 ++-------
 drivers/net/ethernet/intel/igc/igc_main.c     |  9 ++-------
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |  9 ++-------
 .../net/ethernet/intel/ixgbevf/ixgbevf_main.c |  9 ++-------
 .../net/ethernet/mellanox/mlx5/core/en_rx.c   |  7 +------
 include/linux/mm.h                            |  2 +-
 include/linux/skbuff.h                        | 20 +++++++++++++++++--
 net/core/page_pool.c                          | 14 ++++---------
 13 files changed, 46 insertions(+), 106 deletions(-)

-- 
2.30.0



^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2021-02-02 13:19 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-31 12:11 [PATCH v3 net-next 0/5] net: consolidate page_is_pfmemalloc() usage Alexander Lobakin
2021-01-31 12:11 ` [Intel-wired-lan] " Alexander Lobakin
2021-01-31 12:11 ` [PATCH v3 net-next 1/5] mm: constify page_is_pfmemalloc() argument Alexander Lobakin
2021-01-31 12:11   ` [Intel-wired-lan] " Alexander Lobakin
2021-01-31 12:17   ` Matthew Wilcox
2021-01-31 12:17     ` [Intel-wired-lan] " Matthew Wilcox
2021-01-31 12:11 ` [Intel-wired-lan] [PATCH v3 net-next 2/5] skbuff: constify skb_propagate_pfmemalloc() "page" argument Alexander Lobakin
2021-01-31 12:11 ` [PATCH v3 net-next 3/5] net: introduce common dev_page_is_reusable() Alexander Lobakin
2021-01-31 12:11   ` [Intel-wired-lan] " Alexander Lobakin
2021-01-31 12:22   ` Matthew Wilcox
2021-01-31 12:22     ` [Intel-wired-lan] " Matthew Wilcox
2021-01-31 12:57     ` Alexander Lobakin
2021-01-31 12:57       ` [Intel-wired-lan] " Alexander Lobakin
2021-01-31 12:12 ` [PATCH v3 net-next 4/5] net: use the new dev_page_is_reusable() instead of private versions Alexander Lobakin
2021-01-31 12:12   ` [Intel-wired-lan] " Alexander Lobakin
2021-01-31 12:12 ` [Intel-wired-lan] [PATCH v3 net-next 5/5] net: page_pool: simplify page recycling condition tests Alexander Lobakin
2021-01-31 12:23   ` Matthew Wilcox
2021-01-31 12:23     ` [Intel-wired-lan] " Matthew Wilcox
2021-01-31 12:48     ` Alexander Lobakin
2021-01-31 12:48       ` [Intel-wired-lan] " Alexander Lobakin
2021-02-02  1:18 ` [PATCH v3 net-next 0/5] net: consolidate page_is_pfmemalloc() usage Jakub Kicinski
2021-02-02  1:18   ` [Intel-wired-lan] " Jakub Kicinski
2021-02-02 13:13   ` Alexander Lobakin
2021-02-02 13:13     ` [Intel-wired-lan] " Alexander Lobakin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.