Page MenuHomeFreeBSD

busdma: Avoid an M_NOWAIT allocation in alloc_bounce_zone()
AcceptedPublic

Authored by markj on Nov 17 2024, 4:17 PM.
Tags
None
Referenced Files
F108960346: D47646.diff
Thu, Jan 30, 12:36 AM
Unknown Object (File)
Mon, Jan 13, 6:12 PM
Unknown Object (File)
Dec 15 2024, 5:55 PM
Unknown Object (File)
Nov 24 2024, 12:35 PM
Unknown Object (File)
Nov 24 2024, 12:35 PM
Unknown Object (File)
Nov 24 2024, 12:35 PM
Unknown Object (File)
Nov 24 2024, 12:35 PM
Unknown Object (File)
Nov 22 2024, 10:08 PM
Subscribers

Details

Reviewers
mhorne
jhb
Summary

alloc_bounce_zone() already performs some M_WAITOK allocations to
allocate sysctl nodes, so we can certainly allocate the bounce zone
itself using M_WAITOK.

Follow the usual dance: look for an existing bounce zone which
satisifies the constraints, then drop the lock and allocate, then
reacquire the lock and look again before proceeding to initialize the
zone.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 60643
Build 57527: arc lint + arc unit