Page MenuHomeFreeBSD

malloc(9): Document/add aligned variants
ClosedPublic

Authored by adam_fenn.io on Jul 2 2021, 9:27 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 11, 6:01 AM
Unknown Object (File)
Mar 13 2025, 1:19 AM
Unknown Object (File)
Feb 22 2025, 7:06 PM
Unknown Object (File)
Feb 22 2025, 1:06 PM
Unknown Object (File)
Feb 22 2025, 12:48 PM
Unknown Object (File)
Feb 22 2025, 2:18 AM
Unknown Object (File)
Feb 18 2025, 7:32 AM
Unknown Object (File)
Feb 6 2025, 7:18 PM

Details

Summary

As per https://reviews.freebsd.org/D29733#696995 and https://reviews.freebsd.org/D29733#696995, introduce malloc_aligned() and add this and malloc_domainset_aligned() to malloc(9).

Test Plan

Tested via a version of https://reviews.freebsd.org/differential/diff/91630/ with the following modification in kvm_clock_attach():

-	sc->timeinfos = malloc_domainset_aligned(round_page(mp_ncpus *
+	sc->timeinfos = malloc_aligned(round_page(mp_ncpus *
 	    sizeof(struct pvclock_vcpu_time_info)), PAGE_SIZE, M_DEVBUF,
-	    DOMAINSET_RR(), M_WAITOK | M_ZERO);
+	    M_WAITOK | M_ZERO);

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 40246
Build 37135: arc lint + arc unit

Event Timeline

adam_fenn.io held this revision as a draft.
share/man/man9/malloc.9
79

You can use .Fo to avoid this long line

110

It would be useful to note that:

  • align should be non-zero and power of two
  • we only support align requests less or equal to the page size
This revision is now accepted and ready to land.Jul 3 2021, 12:21 AM
allanjude added a subscriber: allanjude.

Man page changes approved

This revision was automatically updated to reflect the committed changes.