OSDN Git Service

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)
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>

Trivial merge