kernel: mmu: collect more demand paging statistics

This adds more bits to gather statistics on demand paging,
e.g. clean vs dirty pages evicted, # page faults with
IRQ locked/unlocked, etc.

Also extends this to gather per-thread demand paging
statistics.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
Daniel Leung 2021-03-26 12:03:42 -07:00 committed by Anas Nashif
commit ae86519819
7 changed files with 236 additions and 32 deletions

View file

@ -7,6 +7,10 @@
#ifndef ZEPHYR_INCLUDE_KERNEL_THREAD_H_
#define ZEPHYR_INCLUDE_KERNEL_THREAD_H_
#ifdef CONFIG_DEMAND_PAGING_THREAD_STATS
#include <sys/mem_manage.h>
#endif
/**
* @typedef k_thread_entry_t
* @brief Thread entry point function type.
@ -279,6 +283,11 @@ struct k_thread {
struct _thread_runtime_stats rt_stats;
#endif
#ifdef CONFIG_DEMAND_PAGING_THREAD_STATS
/** Paging statistics */
struct k_mem_paging_stats_t paging_stats;
#endif
/** arch-specifics: must always be at the end */
struct _thread_arch arch;
};