Page MenuHomeFreeBSD

Implement pmap_mincore() for riscv.
ClosedPublic

Authored by markj on Jul 25 2018, 6:46 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 23 2023, 2:47 AM
Unknown Object (File)
Aug 24 2023, 5:41 AM
Unknown Object (File)
Jul 13 2023, 7:58 AM
Unknown Object (File)
Jul 2 2023, 4:20 PM
Unknown Object (File)
May 15 2023, 10:35 AM
Unknown Object (File)
May 15 2023, 9:50 AM
Unknown Object (File)
May 8 2023, 1:04 PM
Unknown Object (File)
May 8 2023, 11:50 AM
Subscribers

Details

Test Plan

Tests in lib/libc/sys/mincore_test pass.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj added reviewers: alc, br.
alc added inline comments.
sys/riscv/riscv/pmap.c
3200 ↗(On Diff #45845)

Why |= here and ...

3207 ↗(On Diff #45845)

simply = here?

This revision is now accepted and ready to land.Jul 26 2018, 3:32 PM
sys/riscv/riscv/pmap.c
3200 ↗(On Diff #45845)

No reason. I'll change it to = before committing.

sys/riscv/riscv/pmap.c
3198 ↗(On Diff #45845)

As an aside, the RISC-V designers have made an interesting architectural choice here. Hypothetically, we could speed up fork() on x86 by removing write permission at the upper levels of the page table, and sharing the lower-level page table pages until pmap_enter() tries to create a writeable mapping at a lower level. Only then would you allocate a new page table page, copying the old one, and removing write access from the other PTEs in that copied page table page. However, this way of expressing superpage mappings eliminates the possibility of such an optimization.

This revision was automatically updated to reflect the committed changes.