HomeFreeBSD

busdma_bounce: Make the map waiting list per-bounce-zone.

Description

busdma_bounce: Make the map waiting list per-bounce-zone.

When pages are freed to a bounce zone, only maps waiting for pages for
that zone can make forward progress. If a map for a different bounce
zone is at the head of the global list, then requests that could
otherwise make forward progress will be stalled waiting on the other
bounce zone. If bounce zones shared bounce pages then a global list
would still make sense to prevent "later" requests from starving an
earlier request but that is not a concern with per-zone bounce page
pools.

Reviewed by: imp
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D34966

Details

Provenance
jhbAuthored on Apr 21 2022, 5:41 PM
Reviewer
imp
Differential Revision
D34966: busdma_bounce: Make the map waiting list per-bounce-zone.
Parents
rGd11f5d4762c5: busdma_bounce: Use a simple kproc to invoke deferred requests.
Branches
Unknown
Tags
Unknown