Page MenuHomeFreeBSD

arm64 pmap: per-domain pv chunk list
ClosedPublic

Authored by andrew on Aug 23 2022, 11:07 AM.
Tags
None
Referenced Files
F133172670: D36307.id111082.diff
Thu, Oct 23, 3:58 PM
F133172662: D36307.id.diff
Thu, Oct 23, 3:58 PM
F133172661: D36307.id110210.diff
Thu, Oct 23, 3:58 PM
F133172657: D36307.id109707.diff
Thu, Oct 23, 3:58 PM
Unknown Object (File)
Thu, Oct 23, 7:25 AM
Unknown Object (File)
Tue, Oct 21, 2:57 AM
Unknown Object (File)
Sat, Oct 18, 9:32 PM
Unknown Object (File)
Sun, Oct 5, 1:39 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.