zephyr/kernel
Daniel Leung 01f8e0fa2d demand_paging: eviction: add kconfig CONFIG_EVICTION_TRACKING
This adds a new kconfig for eviction algorithm which needs page
tracking. When enabled, k_mem_paging_eviction_add()/_remove()
and k_mem_paging_eviction_accessed() must be implemented.
If an algorithm does not do page tracking, there is no need to
implement these functions, and no need for the kernel MMU code
to call into empty functions. This should save a few function
calls and some CPU cycles.

Note that arm64 unconditionally calls those functions so
forces CONFIG_EVICTION_TRACKING to be enabled there.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-11-18 13:16:44 -05:00
..
include kernel: Move run queue initialization 2024-11-16 15:20:15 -05:00
paging kernel: mm: rename z_num_pagefaults_get to k_mem_num_* 2024-06-12 21:13:26 -04:00
atomic_c.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
banner.c kernel: banner: Add option to clear screen on boot 2024-06-13 20:30:14 -04:00
busy_wait.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
CMakeLists.txt lib c/cpp: Move .ctor .init_array handling from C++ to kernel 2024-06-25 19:14:37 -04:00
compiler_stack_protect.c arch: kernel: lib: toolchain: Standardize TLS keyword 2024-09-23 10:01:48 +02:00
condvar.c kernel: Apply 'unlikely' attribute 2024-10-15 04:06:32 -04:00
cpu_mask.c kernel: Simplify k_thread_cpu_pin() 2024-09-20 09:02:38 +02:00
device.c device_dt_metadata: handle dt_meta being NULL 2024-08-12 15:54:22 +02:00
dynamic_disabled.c
dynamic.c kernel: fix typo 2024-07-08 15:51:37 +02:00
errno.c arch: kernel: lib: toolchain: Standardize TLS keyword 2024-09-23 10:01:48 +02:00
events.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
fatal.c kernel: fatal: Fix NO_OPTIMIZATIONS build 2024-08-07 19:03:40 -04:00
float.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
futex.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
idle.c pm: Move z_pm_save_idle_exit to pm subsys 2024-05-27 02:10:03 -07:00
init_static.c lib c/cpp: Move .ctor .init_array handling from C++ to kernel 2024-06-25 19:14:37 -04:00
init.c zephyr: bulk update to DT_NODE_HAS_STATUS_OKAY 2024-10-03 17:06:52 +01:00
ipi.c kernel: Add CONFIG_ARCH_HAS_DIRECTED_IPIS 2024-06-04 22:35:54 -04:00
irq_offload.c kernel: add closing comments to config endifs 2024-03-25 18:03:31 -04:00
Kconfig Revert "kernel: banner: Expose tainted builds" 2024-10-29 14:17:21 -05:00
Kconfig.device libc: common: Fix init hang issue 2024-06-26 13:07:02 -04:00
Kconfig.init init: support per-core init hook 2024-11-16 14:04:25 -05:00
Kconfig.mem_domain kconfig: replace known integer constants with variables 2024-07-27 20:49:15 +03:00
Kconfig.obj_core
Kconfig.smp kernel: remove CONFIG_MP_NUM_CPUS 2024-09-19 18:28:37 +01:00
Kconfig.vm kernel: mmu: support for on-demand mappings 2024-08-26 17:25:41 -04:00
kheap.c tracing: add k_realloc trace 2024-05-28 17:55:12 +02:00
mailbox.c kernel: Clean up mailbox async msg configuration 2024-04-09 11:05:55 +02:00
main_weak.c
mem_domain.c coding guidelines: comply with MISRA Rule 12.1. 2024-05-12 13:37:27 -04:00
mem_slab.c kernel: mem_slab: always validate memory address on free 2024-11-16 15:54:56 -05:00
mempool.c kernel: avoided increments/decrements with side effects 2024-06-14 19:19:29 +02:00
mmu.c demand_paging: eviction: add kconfig CONFIG_EVICTION_TRACKING 2024-11-18 13:16:44 -05:00
msg_q.c kernel: Apply 'unlikely' attribute 2024-10-15 04:06:32 -04:00
mutex.c kernel: Apply 'unlikely' attribute 2024-10-15 04:06:32 -04:00
nothread.c kernel: fix k_sleep in no multi-threading mode 2024-11-16 14:07:41 -05:00
obj_core.c kernel: reduce k_spin_unlock calls using if-else if-else structure 2024-07-27 20:48:07 +03:00
pipes.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
poll.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
priority_queues.c kernel: priority queues: declare as static inlines 2024-04-22 16:40:11 -04:00
queue.c kernel: Apply 'unlikely' attribute 2024-10-15 04:06:32 -04:00
sched.c kernel: Move run queue initialization 2024-11-16 15:20:15 -05:00
sem.c kernel: Apply 'unlikely' attribute 2024-10-15 04:06:32 -04:00
smp.c kernel: Relax loop in z_smp_global_lock() 2024-05-22 21:35:06 -04:00
spinlock_validate.c kernel/spinlock: Fix SPIN_VALIDATE in ISRs 2024-05-02 13:55:03 -04:00
stack.c kernel: Apply 'unlikely' attribute 2024-10-15 04:06:32 -04:00
system_work_q.c kernel: system_work_q: Mark queue thread as essential 2024-04-25 21:40:24 +02:00
thread_monitor.c style: kernel: comply with MISRA C:2012 Rule 15.6 2024-09-11 07:40:35 -04:00
thread.c style: kernel: remove unnecessary return statements 2024-09-20 11:06:55 +02:00
timeout.c kernel: fix typo 2024-07-08 15:51:37 +02:00
timer.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
timeslicing.c kernel: Add CONFIG_IPI_OPTIMIZE 2024-06-04 22:35:54 -04:00
usage.c kernel: Remove duplicate execution_cycles write and improve docstring 2024-04-28 13:04:20 -04:00
userspace_handler.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
userspace.c sys: util: use BITS_PER_BYTE macro instead of the magic number 8 2024-11-16 15:22:35 -05:00
version.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
work.c coding guidelines: comply with MISRA Rule 2.2 2024-05-02 09:32:46 +01:00
xip.c arch: common: fix copy for ramfunc region during XIP init 2024-11-06 10:19:08 -08:00