Page MenuHomeFreeBSD

i386: Avoid calling kmem_alloc_contig(M_NEVERFREED)
ClosedPublic

Authored by markj on Jul 14 2025, 7:40 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Sep 2, 8:11 PM
Unknown Object (File)
Aug 13 2026, 1:36 AM
Unknown Object (File)
Aug 12 2026, 6:51 PM
Unknown Object (File)
Aug 11 2026, 2:18 PM
Unknown Object (File)
Aug 10 2026, 12:56 PM
Unknown Object (File)
Aug 10 2026, 9:52 AM
Unknown Object (File)
Aug 10 2026, 8:11 AM
Unknown Object (File)
Aug 10 2026, 8:03 AM
Subscribers

Details

Summary

vm_page_alloc_contig* don't handle VM_ALLOC_NOFREE. After commit
07297aee35f2 ("vm_page: update comments and KASSERT()s concerning page allocation"),
pmap_pdpt_allocf() triggers one of the added assertions, since pdptzone
is a NOFREE zone.

Simply clear the flag when allocating a slab. It is not worth trying to
implement support for the NOFREE allocator here.

Reported by: Jenkins

Diff Detail

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