Page MenuHomeFreeBSD

arm64 pmap: per-domain pv chunk list
ClosedPublic

Authored by andrew on Aug 23 2022, 11:07 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Feb 21, 10:52 PM
Unknown Object (File)
Fri, Feb 21, 9:02 PM
Unknown Object (File)
Fri, Feb 21, 8:20 PM
Unknown Object (File)
Fri, Feb 21, 7:58 PM
Unknown Object (File)
Fri, Feb 21, 7:43 PM
Unknown Object (File)
Thu, Feb 6, 5:35 PM
Unknown Object (File)
Jan 30 2025, 6:55 PM
Unknown Object (File)
Jan 17 2025, 10:10 PM
Subscribers

Details

Summary

As with amd64 use a per-domain pv chunk lock to reduce contention as
chunks get created and removed all the time.

Diff Detail

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

Event Timeline

sys/arm64/arm64/pmap.c
2611

pv_chunks_mutex is no more, so this comment is stale.

2748

This ignores the thread's NUMA allocation policy. In particular, the thread may have been configured to never allocate pages from a particular domain, but here it may do so. I suspect this function should use one of the domainset iterators like vm_page_alloc_noobj() does.

2759

Extra newline.

5484

Can this simply be free_pv_chunk_batch(free_chunks);?

sys/arm64/arm64/pmap.c
2748

This looks like it's also a problem on amd64

  • Fix a comment
  • Remove an extra newline
  • Remove an unneeded cast
This revision was not accepted when it landed; it landed in state Needs Review.Sep 27 2022, 3:15 PM
This revision was automatically updated to reflect the committed changes.