Merge branch 'xdp-page_pool-fixes-and-in-flight-accounting'
authorDavid S. Miller <davem@davemloft.net>
Wed, 19 Jun 2019 15:23:14 +0000 (11:23 -0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Jun 2019 15:23:14 +0000 (11:23 -0400)
commit2a54003e7af1eaddc05848dac14f7bcd77301478
tree31644496760e3272d55f8248ef49eed16c32ec1d
parent9371a56f7101cc3f12b57db4bfbb6159205211f4
parentf71fec47c2df704c7081f946d7e46fe036a4208b
Merge branch 'xdp-page_pool-fixes-and-in-flight-accounting'

Jesper Dangaard Brouer says:

====================
xdp: page_pool fixes and in-flight accounting

This patchset fix page_pool API and users, such that drivers can use it for
DMA-mapping. A number of places exist, where the DMA-mapping would not get
released/unmapped, all these are fixed. This occurs e.g. when an xdp_frame
gets converted to an SKB. As network stack doesn't have any callback for XDP
memory models.

The patchset also address a shutdown race-condition. Today removing a XDP
memory model, based on page_pool, is only delayed one RCU grace period. This
isn't enough as redirected xdp_frames can still be in-flight on different
queues (remote driver TX, cpumap or veth).

We stress that when drivers use page_pool for DMA-mapping, then they MUST
use one packet per page. This might change in the future, but more work lies
ahead, before we can lift this restriction.

This patchset change the page_pool API to be more strict, as in-flight page
accounting is added.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>