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, May 22, 3:21 AM
Unknown Object (File)
Thu, May 21, 10:46 AM
Unknown Object (File)
Sat, May 16, 4:20 PM
Unknown Object (File)
Sat, May 16, 4:20 PM
Unknown Object (File)
Sat, May 16, 4:19 PM
Unknown Object (File)
Sat, May 16, 2:11 PM
Unknown Object (File)
Sat, May 16, 8:47 AM
Unknown Object (File)
Sat, May 16, 6:22 AM
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.