netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next PATCH v3 0/1] Change page_pool timeout handling
@ 2019-11-14 22:12 Jonathan Lemon
  2019-11-14 22:13 ` [net-next PATCH v3 1/1] page_pool: do not release pool until inflight == 0 Jonathan Lemon
  0 siblings, 1 reply; 5+ messages in thread
From: Jonathan Lemon @ 2019-11-14 22:12 UTC (permalink / raw)
  To: davem, netdev; +Cc: ilias.apalodimas, brouer, kernel-team

It isn't safe to remove the page pool until all in-flight pages 
are returned.  If the pages are handed up the stack, it might be
a while before they are returned.

The page pool can also be used independently of xdp, so it shouldn't
be depending on timeout handling from the xdp memory model.  Change
things around so the pool handles its own timeout.

v3:
 - restore tracepoint handling, use atomic_inc_return instead.

v2:
 - fix wording in commit log
 - fix compile error for !PAGE_POOL case
 - revise tracepoint handling

Jonathan Lemon (1):
  page_pool: do not release pool until inflight == 0.

 .../net/ethernet/stmicro/stmmac/stmmac_main.c |   4 +-
 include/net/page_pool.h                       |  54 +++-----
 include/net/xdp_priv.h                        |   4 -
 include/trace/events/xdp.h                    |  19 +--
 net/core/page_pool.c                          | 124 ++++++++++-------
 net/core/xdp.c                                | 125 +++++++-----------
 6 files changed, 143 insertions(+), 187 deletions(-)

-- 
2.17.1


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

end of thread, other threads:[~2019-11-15  7:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-14 22:12 [net-next PATCH v3 0/1] Change page_pool timeout handling Jonathan Lemon
2019-11-14 22:13 ` [net-next PATCH v3 1/1] page_pool: do not release pool until inflight == 0 Jonathan Lemon
2019-11-14 22:17   ` Jesper Dangaard Brouer
2019-11-15  1:24     ` Jonathan Lemon
2019-11-15  7:32   ` Ilias Apalodimas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).