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
Unknown Object (File)
Sat, Oct 11, 1:48 AM
Unknown Object (File)
Thu, Sep 25, 5:41 PM
Unknown Object (File)
Sep 18 2025, 5:51 AM
Unknown Object (File)
Sep 9 2025, 5:57 AM
Unknown Object (File)
Sep 8 2025, 2:20 PM
Unknown Object (File)
Jul 15 2025, 6:33 AM
Unknown Object (File)
Jul 14 2025, 5:58 PM
Unknown Object (File)
Jul 1 2025, 10:23 AM
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