| 3fe3fa25 | 06-Jul-2021 |
Aaron LI <aly@aaronly.me> |
npx: Extend fpusave/fpurstor() to accept an XSAVE mask argument
XSAVE/XRSTOR requires a mask argument that determines the components/states to save/restore. Thus this argument controls the save are
npx: Extend fpusave/fpurstor() to accept an XSAVE mask argument
XSAVE/XRSTOR requires a mask argument that determines the components/states to save/restore. Thus this argument controls the save area size.
Extend fpusave/fpurstor() functions to accept an XSAVE mask argument, so the caller can choose the wanted components/states to save/restore and knows the exact area size.
NVMM will use this feature.
show more ...
|
| 8078b160 | 03-Jun-2021 |
Aaron LI <aly@aaronly.me> |
pmap: Eliminate a simple macro 'pte_load_clear()'
First, this macro is not used in vkernel64's pmap code. Secondly, this macro is sudden and looks unrelated to other things in the pmap.h header. S
pmap: Eliminate a simple macro 'pte_load_clear()'
First, this macro is not used in vkernel64's pmap code. Secondly, this macro is sudden and looks unrelated to other things in the pmap.h header. So just substitute it in the pmap code and get rid of it.
show more ...
|
| 7e0dbbc6 | 03-Jun-2021 |
Aaron LI <aly@aaronly.me> |
vm/pmap.h: Move vtophys() and vtophys_pte() macros here
The two macros are defined against with pmap_kextract(), which is also declared in this header file, so it's a better place to hold the two ma
vm/pmap.h: Move vtophys() and vtophys_pte() macros here
The two macros are defined against with pmap_kextract(), which is also declared in this header file, so it's a better place to hold the two macros.
In addition, this adjustment avoids the duplicates in both pc64 and vkernel64.
show more ...
|
| 5936d3e8 | 20-May-2021 |
Aaron LI <aly@aaronly.me> |
vm: Change {buffer,clean,pager}_map globals to pointer type
Similar to the previous commit that changes global 'kernel_map' to type of 'struct vm_map *', change related globals 'buffer_map', 'clean_
vm: Change {buffer,clean,pager}_map globals to pointer type
Similar to the previous commit that changes global 'kernel_map' to type of 'struct vm_map *', change related globals 'buffer_map', 'clean_map' and 'pager_map' to pointer type, i.e., 'struct vm_map *'.
No functional changes.
show more ...
|
| ef866ef7 | 25-Jul-2020 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Remove P_SWAPPEDOUT flag and paging mode
* This code basically no longer functions in any worthwhile or useful manner, remove it.
The code harkens back to a time when machines had very
kernel - Remove P_SWAPPEDOUT flag and paging mode
* This code basically no longer functions in any worthwhile or useful manner, remove it.
The code harkens back to a time when machines had very little memory and had to time-share processes by actually descheduling them for long periods of time (like 20 seconds) and paging out the related memory.
In modern times the chooser algorithm just doesn't work well because we can no longer assume that programs with large memory footprints can be demoted.
* In modern times machines have sufficient memory to rely almost entirely on the VM fault and pageout scan. The latencies caused by fault-ins are usually sufficient to demote paging-intensive processes while allowing the machine to continue to function.
If functionality need to be added back in, it can be added back in on the fault path and not here.
show more ...
|