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, Jan 18, 10:08 PM
Unknown Object (File)
Thu, Jan 9, 11:41 PM
Unknown Object (File)
Nov 5 2024, 9:57 PM
Unknown Object (File)
Oct 24 2024, 3:00 AM
Unknown Object (File)
Oct 4 2024, 8:22 AM
Unknown Object (File)
Sep 27 2024, 1:15 PM
Unknown Object (File)
Sep 25 2024, 7:07 PM
Unknown Object (File)
Sep 24 2024, 4:10 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.