Page MenuHomeFreeBSD

vm_page_wire_mapped: explain why failure does not affect correctness
ClosedPublic

Authored by kib on Oct 30 2019, 4:10 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Aug 2, 9:37 AM
Unknown Object (File)
Jun 26 2025, 8:38 AM
Unknown Object (File)
Jun 25 2025, 8:53 AM
Unknown Object (File)
Jun 21 2025, 6:17 AM
Unknown Object (File)
Jun 15 2025, 1:13 PM
Unknown Object (File)
Jun 12 2025, 7:40 PM
Unknown Object (File)
Apr 14 2025, 8:57 AM
Unknown Object (File)
Apr 14 2025, 4:04 AM
Subscribers

Diff Detail

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

Event Timeline

Was there some specific problem that motivated the change?

Note that the pmap_extract_and_hold() caller may not fall back to the slow path in some cases, e.g., if VM_PROT_QUICK_NOFAULT is specified.

sys/vm/vm_page.c
3766 ↗(On Diff #63801)

I think the first comma is unnecessary.

This revision is now accepted and ready to land.Oct 30 2019, 4:36 PM
kib marked an inline comment as done.Oct 30 2019, 4:55 PM

Was there some specific problem that motivated the change?

Only that I re-read some code and had to trace the path to convince myself once again that it is fine.

Note that the pmap_extract_and_hold() caller may not fall back to the slow path in some cases, e.g., if VM_PROT_QUICK_NOFAULT is specified.

I do not agree. VM_PROT_QUICK_NOFAULT only makes vm_fault_quick...() to not ignore TDP_NOFAULTING. In this case, the code that set TDP_NOFAULTING typically has to handle EFAULT by some means, which is to call vm_fault() explicitly. This is how vn_io_fault() works.