Searched hist:"8 ec533d336b912e024b070990a3dd230b55a9dbf" (Results 1 – 2 of 2) sorted by relevance
/freebsd/sys/vm/ |
H A D | vm.h | diff 8ec533d336b912e024b070990a3dd230b55a9dbf Mon Mar 26 18:31:12 CEST 2018 Konstantin Belousov <kib@FreeBSD.org> Allow to specify for vm_fault_quick_hold_pages() that nofault mode should be honored.
We must not sleep or acquire any MI VM locks if TDP_NOFAULTING is specified. On the other hand, there were some callers in the tree which set TDP_NOFAULTING for larger scope than needed, I fixed the code which I wrote, but I suspect that linuxkpi and out of tree drm drivers might abuse this still.
So only enable the mode for vm_fault_quick_hold_pages() where vm_fault_hold() is not called when specifically asked by user. I decided to use vm_prot_t flag to not change KPI. Since number of flags in vm_prot_t is limited, I reused the same flag which was already consumed for vm_map_lookup().
Reported and tested by: pho (as part of the larger patch) Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D14825
|
H A D | vm_fault.c | diff 8ec533d336b912e024b070990a3dd230b55a9dbf Mon Mar 26 18:31:12 CEST 2018 Konstantin Belousov <kib@FreeBSD.org> Allow to specify for vm_fault_quick_hold_pages() that nofault mode should be honored.
We must not sleep or acquire any MI VM locks if TDP_NOFAULTING is specified. On the other hand, there were some callers in the tree which set TDP_NOFAULTING for larger scope than needed, I fixed the code which I wrote, but I suspect that linuxkpi and out of tree drm drivers might abuse this still.
So only enable the mode for vm_fault_quick_hold_pages() where vm_fault_hold() is not called when specifically asked by user. I decided to use vm_prot_t flag to not change KPI. Since number of flags in vm_prot_t is limited, I reused the same flag which was already consumed for vm_map_lookup().
Reported and tested by: pho (as part of the larger patch) Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D14825
|