blob: 05f8b8d3334d1d0116aa2444559f9bb87d2828c8 [file] [log] [blame]
# Copyright (c) 2020 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
# Demand paging sample eviction algorithms
choice EVICTION_CHOICE
prompt "Page frame eviction algorithms"
default EVICTION_NRU
depends on DEMAND_PAGING
config EVICTION_CUSTOM
bool "Custom eviction algorithm"
help
This option is chosen when the eviction algorithm will be implemented
by the application, instead of using one included in Zephyr.
config EVICTION_NRU
bool "Not Recently Used (NRU) page eviction algorithm"
help
This implements a Not Recently Used page eviction algorithm.
A periodic timer will clear the accessed state of all virtual pages.
When a page frame needs to be evicted, the algorithm will prefer to
evict page frames using an ascending order of priority:
- recently accessed, dirty
- recently accessed, clean
- not recently accessed, dirty
- not recently accessed, clean
endchoice
if EVICTION_NRU
config EVICTION_NRU_PERIOD
int "Recently accessed period, in milliseconds"
default 100
help
A periodic timer will fire that clears the accessed state of all virtual
pages that are capable of being paged out. At eviction time, if a page
still has the accessed property, it will be considered as recently used.
endif # EVICTION_NRU