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)
Jan 13 2024, 2:49 AM
Unknown Object (File)
Dec 23 2023, 11:05 AM
Unknown Object (File)
Jun 3 2023, 8:05 AM
Unknown Object (File)
May 14 2023, 6:40 PM
Unknown Object (File)
Apr 18 2023, 11:01 PM
Unknown Object (File)
Jan 4 2023, 8:58 AM
Unknown Object (File)
Dec 30 2022, 12:49 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.