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)
Tue, Jul 21, 8:55 AM
Unknown Object (File)
Tue, Jul 21, 5:49 AM
Unknown Object (File)
Tue, Jul 21, 3:27 AM
Unknown Object (File)
Sun, Jul 12, 8:10 PM
Unknown Object (File)
Wed, Jul 8, 8:09 PM
Unknown Object (File)
Jun 23 2026, 11:24 AM
Unknown Object (File)
Jun 21 2026, 7:55 PM
Unknown Object (File)
Jun 18 2026, 4:46 PM
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.