diff --git a/boards/arm/imxrt/imxrt1050-evk/configs/libcxxtest/defconfig b/boards/arm/imxrt/imxrt1050-evk/configs/libcxxtest/defconfig index d6751fb604..e3af05261f 100644 --- a/boards/arm/imxrt/imxrt1050-evk/configs/libcxxtest/defconfig +++ b/boards/arm/imxrt/imxrt1050-evk/configs/libcxxtest/defconfig @@ -32,7 +32,7 @@ CONFIG_NSH_LINELEN=64 CONFIG_NSH_READLINE=y CONFIG_RAM_SIZE=536870912 CONFIG_RAM_START=0x20200000 -CONFIG_SCHED_CPULOAD=y +CONFIG_SCHED_CPULOAD_SYSCLK=y CONFIG_START_DAY=14 CONFIG_START_MONTH=3 CONFIG_SYSTEM_NSH=y diff --git a/boards/arm/imxrt/imxrt1060-evk/configs/libcxxtest/defconfig b/boards/arm/imxrt/imxrt1060-evk/configs/libcxxtest/defconfig index dc26dcfd87..5c38fafdcb 100644 --- a/boards/arm/imxrt/imxrt1060-evk/configs/libcxxtest/defconfig +++ b/boards/arm/imxrt/imxrt1060-evk/configs/libcxxtest/defconfig @@ -32,7 +32,7 @@ CONFIG_NSH_LINELEN=64 CONFIG_NSH_READLINE=y CONFIG_RAM_SIZE=1048576 CONFIG_RAM_START=0x20200000 -CONFIG_SCHED_CPULOAD=y +CONFIG_SCHED_CPULOAD_SYSCLK=y CONFIG_START_DAY=14 CONFIG_START_MONTH=3 CONFIG_SYSTEM_NSH=y diff --git a/boards/arm/imxrt/imxrt1064-evk/configs/libcxxtest/defconfig b/boards/arm/imxrt/imxrt1064-evk/configs/libcxxtest/defconfig index 817a01d802..9ac593e74a 100644 --- a/boards/arm/imxrt/imxrt1064-evk/configs/libcxxtest/defconfig +++ b/boards/arm/imxrt/imxrt1064-evk/configs/libcxxtest/defconfig @@ -32,7 +32,7 @@ CONFIG_NSH_LINELEN=64 CONFIG_NSH_READLINE=y CONFIG_RAM_SIZE=1048576 CONFIG_RAM_START=0x20200000 -CONFIG_SCHED_CPULOAD=y +CONFIG_SCHED_CPULOAD_SYSCLK=y CONFIG_START_DAY=14 CONFIG_START_MONTH=3 CONFIG_SYSTEM_NSH=y diff --git a/boards/arm/imxrt/teensy-4.x/configs/pikron-bb/defconfig b/boards/arm/imxrt/teensy-4.x/configs/pikron-bb/defconfig index 230c687f4d..9eeb882f7b 100644 --- a/boards/arm/imxrt/teensy-4.x/configs/pikron-bb/defconfig +++ b/boards/arm/imxrt/teensy-4.x/configs/pikron-bb/defconfig @@ -143,7 +143,6 @@ CONFIG_RAM_SIZE=1048576 CONFIG_RAM_START=0x20200000 CONFIG_READLINE_CMD_HISTORY=y CONFIG_RR_INTERVAL=10 -CONFIG_SCHED_CPULOAD=y CONFIG_SCHED_LPWORK=y CONFIG_SCHED_TICKLESS=y CONFIG_SCHED_TICKLESS_ALARM=y diff --git a/boards/arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig b/boards/arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig index 900db1cfb1..0d23ad5f66 100644 --- a/boards/arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig +++ b/boards/arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig @@ -138,7 +138,7 @@ CONFIG_PTHREAD_STACK_MIN=1024 CONFIG_RAM_SIZE=65536 CONFIG_RAM_START=0x10000000 CONFIG_RR_INTERVAL=200 -CONFIG_SCHED_CPULOAD=y +CONFIG_SCHED_CPULOAD_SYSCLK=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SCHED_IRQMONITOR=y diff --git a/boards/arm/sam34/sam4s-xplained-pro/Kconfig b/boards/arm/sam34/sam4s-xplained-pro/Kconfig index f8150d2fe4..c087aa791b 100644 --- a/boards/arm/sam34/sam4s-xplained-pro/Kconfig +++ b/boards/arm/sam34/sam4s-xplained-pro/Kconfig @@ -18,7 +18,7 @@ config SAM4S_XPLAINED_PRO_SCHED_TIMER_DEVPATH config SAM4S_XPLAINED_PRO_CPULOAD_TIMER_DEVPATH string "CPU Load Timer Device Path" default "/dev/tc0" - depends on TIMER && SCHED_CPULOAD && SCHED_CPULOAD_EXTCLK + depends on TIMER && SCHED_CPULOAD_EXTCLK config SAM34_NAND_BLOCKMOUNT bool "NAND FLASH auto-mount" diff --git a/boards/arm/stm32/stm32butterfly2/configs/nsh/defconfig b/boards/arm/stm32/stm32butterfly2/configs/nsh/defconfig index 4dcc330ce0..2436642933 100644 --- a/boards/arm/stm32/stm32butterfly2/configs/nsh/defconfig +++ b/boards/arm/stm32/stm32butterfly2/configs/nsh/defconfig @@ -50,7 +50,7 @@ CONFIG_RAM_START=0x20000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_TABCOMPLETION=y CONFIG_RR_INTERVAL=100 -CONFIG_SCHED_CPULOAD=y +CONFIG_SCHED_CPULOAD_SYSCLK=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SCHED_HPWORKSTACKSIZE=1024 diff --git a/boards/arm/stm32/stm32butterfly2/configs/nshnet/defconfig b/boards/arm/stm32/stm32butterfly2/configs/nshnet/defconfig index e0b4efd790..d09176bee4 100644 --- a/boards/arm/stm32/stm32butterfly2/configs/nshnet/defconfig +++ b/boards/arm/stm32/stm32butterfly2/configs/nshnet/defconfig @@ -63,7 +63,7 @@ CONFIG_RAM_START=0x20000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_TABCOMPLETION=y CONFIG_RR_INTERVAL=100 -CONFIG_SCHED_CPULOAD=y +CONFIG_SCHED_CPULOAD_SYSCLK=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SCHED_HPWORKSTACKSIZE=1024 diff --git a/boards/arm/stm32/stm32butterfly2/configs/nshusbdev/defconfig b/boards/arm/stm32/stm32butterfly2/configs/nshusbdev/defconfig index 7c7070d5ce..1017fb2e5a 100644 --- a/boards/arm/stm32/stm32butterfly2/configs/nshusbdev/defconfig +++ b/boards/arm/stm32/stm32butterfly2/configs/nshusbdev/defconfig @@ -49,7 +49,7 @@ CONFIG_RAM_START=0x20000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_TABCOMPLETION=y CONFIG_RR_INTERVAL=100 -CONFIG_SCHED_CPULOAD=y +CONFIG_SCHED_CPULOAD_SYSCLK=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SCHED_HPWORKSTACKSIZE=1024 diff --git a/boards/arm/stm32/stm32butterfly2/configs/nshusbhost/defconfig b/boards/arm/stm32/stm32butterfly2/configs/nshusbhost/defconfig index 4dcc330ce0..2436642933 100644 --- a/boards/arm/stm32/stm32butterfly2/configs/nshusbhost/defconfig +++ b/boards/arm/stm32/stm32butterfly2/configs/nshusbhost/defconfig @@ -50,7 +50,7 @@ CONFIG_RAM_START=0x20000000 CONFIG_RAW_BINARY=y CONFIG_READLINE_TABCOMPLETION=y CONFIG_RR_INTERVAL=100 -CONFIG_SCHED_CPULOAD=y +CONFIG_SCHED_CPULOAD_SYSCLK=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKPRIORITY=192 CONFIG_SCHED_HPWORKSTACKSIZE=1024 diff --git a/boards/arm/stm32h7/nucleo-h743zi2/configs/jumbo/defconfig b/boards/arm/stm32h7/nucleo-h743zi2/configs/jumbo/defconfig index e7a5b98dcc..ee5aaf9524 100644 --- a/boards/arm/stm32h7/nucleo-h743zi2/configs/jumbo/defconfig +++ b/boards/arm/stm32h7/nucleo-h743zi2/configs/jumbo/defconfig @@ -88,7 +88,7 @@ CONFIG_RAW_BINARY=y CONFIG_READLINE_CMD_HISTORY=y CONFIG_READLINE_TABCOMPLETION=y CONFIG_RR_INTERVAL=200 -CONFIG_SCHED_CPULOAD=y +CONFIG_SCHED_CPULOAD_SYSCLK=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPWORKSTACKSIZE=2048 CONFIG_SCHED_IRQMONITOR=y diff --git a/boards/risc-v/bl602/bl602evb/configs/timer/defconfig b/boards/risc-v/bl602/bl602evb/configs/timer/defconfig index 37632bde29..198ad9e46b 100644 --- a/boards/risc-v/bl602/bl602evb/configs/timer/defconfig +++ b/boards/risc-v/bl602/bl602evb/configs/timer/defconfig @@ -65,7 +65,7 @@ CONFIG_RAM_SIZE=134217728 CONFIG_RAM_START=0xc0800000 CONFIG_RAW_BINARY=y CONFIG_RR_INTERVAL=200 -CONFIG_SCHED_CPULOAD=y +CONFIG_SCHED_CPULOAD_SYSCLK=y CONFIG_SCHED_WAITPID=y CONFIG_STACK_COLORATION=y CONFIG_START_DAY=20 diff --git a/crypto/random_pool.c b/crypto/random_pool.c index 88b655d1ee..cdbcb0df4c 100644 --- a/crypto/random_pool.c +++ b/crypto/random_pool.c @@ -213,7 +213,7 @@ static void addentropy(FAR const uint32_t *buf, size_t n, bool inc_new) static void initentropy(FAR blake2s_state *S) { -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE struct cpuload_s load; #endif uint32_t tmp; @@ -231,7 +231,7 @@ static void initentropy(FAR blake2s_state *S) tmp = sizeof(entropy_pool.pool); tmp <<= 27; -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE clock_cpuload(0, &load); tmp += load.total ^ ROTL_32(load.active, 23); #endif diff --git a/fs/procfs/Kconfig b/fs/procfs/Kconfig index d6113ded3d..9dc4e96ba0 100644 --- a/fs/procfs/Kconfig +++ b/fs/procfs/Kconfig @@ -45,7 +45,7 @@ config FS_PROCFS_EXCLUDE_CPUINFO config FS_PROCFS_EXCLUDE_CPULOAD bool "Exclude CPU load" - depends on SCHED_CPULOAD + depends on !SCHED_CPULOAD_NONE default DEFAULT_SMALL config FS_PROCFS_EXCLUDE_ENVIRON diff --git a/fs/procfs/fs_procfs.c b/fs/procfs/fs_procfs.c index 276204cd6f..340b04edc0 100644 --- a/fs/procfs/fs_procfs.c +++ b/fs/procfs/fs_procfs.c @@ -106,7 +106,8 @@ static const struct procfs_entry_s g_procfs_entries[] = { "cpuinfo", &g_cpuinfo_operations, PROCFS_FILE_TYPE }, #endif -#if defined(CONFIG_SCHED_CPULOAD) && !defined(CONFIG_FS_PROCFS_EXCLUDE_CPULOAD) +#if !defined(CONFIG_SCHED_CPULOAD_NONE) && \ + !defined(CONFIG_FS_PROCFS_EXCLUDE_CPULOAD) { "cpuload", &g_cpuload_operations, PROCFS_FILE_TYPE }, #endif diff --git a/fs/procfs/fs_procfscpuload.c b/fs/procfs/fs_procfscpuload.c index eafc7d576f..4bd75ee84e 100644 --- a/fs/procfs/fs_procfscpuload.c +++ b/fs/procfs/fs_procfscpuload.c @@ -45,7 +45,8 @@ #include #if !defined(CONFIG_DISABLE_MOUNTPOINT) && defined(CONFIG_FS_PROCFS) -#if defined(CONFIG_SCHED_CPULOAD) && !defined(CONFIG_FS_PROCFS_EXCLUDE_CPULOAD) +#if !defined(CONFIG_SCHED_CPULOAD_NONE) && \ + !defined(CONFIG_FS_PROCFS_EXCLUDE_CPULOAD) /**************************************************************************** * Pre-processor Definitions diff --git a/fs/procfs/fs_procfsproc.c b/fs/procfs/fs_procfsproc.c index a443e50b40..7e18d3b7e6 100644 --- a/fs/procfs/fs_procfsproc.c +++ b/fs/procfs/fs_procfsproc.c @@ -54,7 +54,7 @@ #include #include -#if defined(CONFIG_SCHED_CPULOAD) || defined(CONFIG_SCHED_CRITMONITOR) +#if !defined(CONFIG_SCHED_CPULOAD_NONE) || defined(CONFIG_SCHED_CRITMONITOR) # include #endif @@ -84,7 +84,7 @@ enum proc_node_e PROC_LEVEL0 = 0, /* The top-level directory */ PROC_STATUS, /* Task/thread status */ PROC_CMDLINE, /* Task command line */ -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE PROC_LOADAVG, /* Average CPU utilization */ #endif #ifdef CONFIG_SCHED_CRITMONITOR @@ -171,7 +171,7 @@ static ssize_t proc_status(FAR struct proc_file_s *procfile, static ssize_t proc_cmdline(FAR struct proc_file_s *procfile, FAR struct tcb_s *tcb, FAR char *buffer, size_t buflen, off_t offset); -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE static ssize_t proc_loadavg(FAR struct proc_file_s *procfile, FAR struct tcb_s *tcb, FAR char *buffer, size_t buflen, off_t offset); @@ -278,7 +278,7 @@ static const struct proc_node_s g_cmdline = "cmdline", "cmdline", (uint8_t)PROC_CMDLINE, DTYPE_FILE /* Task command line */ }; -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE static const struct proc_node_s g_loadavg = { "loadavg", "loadavg", (uint8_t)PROC_LOADAVG, DTYPE_FILE /* Average CPU utilization */ @@ -340,7 +340,7 @@ static FAR const struct proc_node_s * const g_nodeinfo[] = { &g_status, /* Task/thread status */ &g_cmdline, /* Task command line */ -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE &g_loadavg, /* Average CPU utilization */ #endif #ifdef CONFIG_SCHED_CRITMONITOR @@ -369,7 +369,7 @@ static const struct proc_node_s * const g_level0info[] = { &g_status, /* Task/thread status */ &g_cmdline, /* Task command line */ -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE &g_loadavg, /* Average CPU utilization */ #endif #ifdef CONFIG_SCHED_CRITMONITOR @@ -706,7 +706,7 @@ static ssize_t proc_cmdline(FAR struct proc_file_s *procfile, * Name: proc_loadavg ****************************************************************************/ -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE static ssize_t proc_loadavg(FAR struct proc_file_s *procfile, FAR struct tcb_s *tcb, FAR char *buffer, size_t buflen, off_t offset) @@ -1521,7 +1521,7 @@ static ssize_t proc_read(FAR struct file *filep, FAR char *buffer, ret = proc_cmdline(procfile, tcb, buffer, buflen, filep->f_pos); break; -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE case PROC_LOADAVG: /* Average CPU utilization */ ret = proc_loadavg(procfile, tcb, buffer, buflen, filep->f_pos); break; diff --git a/include/nuttx/clock.h b/include/nuttx/clock.h index 816126bb79..655210a530 100644 --- a/include/nuttx/clock.h +++ b/include/nuttx/clock.h @@ -274,7 +274,7 @@ /* This structure is used to report CPU usage for a particular thread */ -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE struct cpuload_s { volatile uint32_t total; /* Total number of clock ticks */ @@ -615,7 +615,7 @@ int clock_systime_timespec(FAR struct timespec *ts); * ****************************************************************************/ -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE int clock_cpuload(int pid, FAR struct cpuload_s *cpuload); #endif diff --git a/include/nuttx/sched.h b/include/nuttx/sched.h index 62263896d2..1f05ee161a 100644 --- a/include/nuttx/sched.h +++ b/include/nuttx/sched.h @@ -625,7 +625,7 @@ struct tcb_s /* CPU load monitoring support ********************************************/ -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE uint32_t ticks; /* Number of ticks on this thread */ #endif diff --git a/sched/Kconfig b/sched/Kconfig index 5bdeb6de02..c3224699f5 100644 --- a/sched/Kconfig +++ b/sched/Kconfig @@ -914,9 +914,9 @@ config SCHED_CRITMONITOR_MAXTIME_PANIC If this option is enabled, a panic will be triggered when IRQ/WQUEUE/PREEMPTION execution time exceeds SCHED_CRITMONITOR_MAXTIME_xxx -config SCHED_CPULOAD - bool "Enable CPU load monitoring" - default n +choice + prompt "Select CPU load clock source" + default SCHED_CPULOAD_NONE ---help--- If this option is selected, the timer interrupt handler will monitor if the system is IDLE or busy at the time of that the timer interrupt @@ -932,12 +932,11 @@ config SCHED_CPULOAD possible unless you provide an alternative clock to drive the sampling and select SCHED_CPULOAD_EXTCLK. -if SCHED_CPULOAD - -choice - prompt "Select CPU load clock source" - default SCHED_CPULOAD_EXTCLK if SCHED_TICKLESS - default SCHED_CPULOAD_CRITMONITOR if SCHED_CRITMONITOR +config SCHED_CPULOAD_NONE + bool "None CPU load clock source" + ---help--- + If this option is enabled, the system will not support CPU load + measurement. config SCHED_CPULOAD_SYSCLK bool "Use system clock" @@ -955,8 +954,9 @@ config SCHED_CPULOAD_SYSCLK the CPU load attributed to these threads that run synchronously with they system timer may be grossly in error. The CPU load measurements are determined by sampling the active - tasks periodically at the occurrence to a timer expiration. By - default, the system clock is used to do that sampling. + tasks periodically at the occurrence to a timer expiration. + If tickless is enabled, SYSCLK should not be used. Its error will be + very large, and using it for analysis will lead to wrong conclusions. config SCHED_CPULOAD_EXTCLK bool "Use external clock" @@ -1068,14 +1068,13 @@ endif # SCHED_CPULOAD_EXTCLK config SCHED_CPULOAD_TIMECONSTANT int "CPU load time constant" + depends on !SCHED_CPULOAD_NONE default 2 ---help--- The accumulated CPU count is divided by two when the accumulated tick count exceeds this time constant. This time constant is in units of seconds. -endif # SCHED_CPULOAD - menuconfig SCHED_INSTRUMENTATION bool "System performance monitor hooks" default n diff --git a/sched/misc/assert.c b/sched/misc/assert.c index 82467d46c4..f67c6b85b7 100644 --- a/sched/misc/assert.c +++ b/sched/misc/assert.c @@ -297,7 +297,7 @@ static void dump_task(FAR struct tcb_s *tcb, FAR void *arg) size_t stack_filled = 0; size_t stack_used; #endif -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE struct cpuload_s cpuload; size_t fracpart = 0; size_t intpart = 0; @@ -349,7 +349,7 @@ static void dump_task(FAR struct tcb_s *tcb, FAR void *arg) #ifdef CONFIG_STACK_COLORATION " %7zu %3zu.%1zu%%%c" #endif -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE " %3zu.%01zu%%" #endif " %s%s\n" @@ -375,7 +375,7 @@ static void dump_task(FAR struct tcb_s *tcb, FAR void *arg) , stack_filled / 10, stack_filled % 10 , (stack_filled >= 10 * 80 ? '!' : ' ') #endif -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE , intpart, fracpart #endif #if CONFIG_TASK_NAME_SIZE > 0 @@ -431,7 +431,7 @@ static void dump_tasks(void) #ifdef CONFIG_STACK_COLORATION " USED FILLED " #endif -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE " CPU" #endif " COMMAND\n"); @@ -450,7 +450,7 @@ static void dump_tasks(void) # ifdef CONFIG_STACK_COLORATION " %7zu %3zu.%1zu%%%c" # endif -# ifdef CONFIG_SCHED_CPULOAD +# ifndef CONFIG_SCHED_CPULOAD_NONE " ----" # endif " irq\n" diff --git a/sched/sched/CMakeLists.txt b/sched/sched/CMakeLists.txt index 90ac03e08a..f7616d9ece 100644 --- a/sched/sched/CMakeLists.txt +++ b/sched/sched/CMakeLists.txt @@ -91,7 +91,7 @@ elseif(CONFIG_SCHED_RESUMESCHEDULER) list(APPEND SRCS sched_resumescheduler.c) endif() -if(CONFIG_SCHED_CPULOAD) +if(NOT CONFIG_SCHED_CPULOAD_NONE) list(APPEND SRCS sched_cpuload.c) if(CONFIG_CPULOAD_ONESHOT) list(APPEND SRCS sched_cpuload_oneshot.c) diff --git a/sched/sched/Make.defs b/sched/sched/Make.defs index 0abd6c13ab..ddcb6c7580 100644 --- a/sched/sched/Make.defs +++ b/sched/sched/Make.defs @@ -68,7 +68,7 @@ else ifeq ($(CONFIG_SCHED_RESUMESCHEDULER),y) CSRCS += sched_resumescheduler.c endif -ifeq ($(CONFIG_SCHED_CPULOAD),y) +ifneq ($(CONFIG_SCHED_CPULOAD_NONE),y) CSRCS += sched_cpuload.c ifeq ($(CONFIG_CPULOAD_ONESHOT),y) CSRCS += sched_cpuload_oneshot.c diff --git a/sched/sched/sched.h b/sched/sched/sched.h index c8e42b9e54..79a5736b9b 100644 --- a/sched/sched/sched.h +++ b/sched/sched/sched.h @@ -235,7 +235,7 @@ extern volatile int g_npidhash; extern const struct tasklist_s g_tasklisttable[NUM_TASK_STATES]; -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE /* This is the total number of clock tick counts. Essentially the * 'denominator' for all CPU load calculations. */ diff --git a/sched/sched/sched_cpuload.c b/sched/sched/sched_cpuload.c index f5128e36c8..59cd5d88c2 100644 --- a/sched/sched/sched_cpuload.c +++ b/sched/sched/sched_cpuload.c @@ -32,8 +32,6 @@ #include "sched/sched.h" -#ifdef CONFIG_SCHED_CPULOAD - /**************************************************************************** * Pre-processor Definitions ****************************************************************************/ @@ -227,5 +225,3 @@ int clock_cpuload(int pid, FAR struct cpuload_s *cpuload) leave_critical_section(flags); return ret; } - -#endif /* CONFIG_SCHED_CPULOAD */ diff --git a/sched/sched/sched_cpuload_oneshot.c b/sched/sched/sched_cpuload_oneshot.c index a7538af367..cbc64a46d9 100644 --- a/sched/sched/sched_cpuload_oneshot.c +++ b/sched/sched/sched_cpuload_oneshot.c @@ -44,10 +44,6 @@ /* Configuration ************************************************************/ -#if !defined(CONFIG_SCHED_CPULOAD) || !defined(CONFIG_SCHED_CPULOAD_EXTCLK) -# error CONFIG_SCHED_CPULOAD and CONFIG_SCHED_CPULOAD_EXTCLK must be defined -#endif - /* CONFIG_SCHED_CPULOAD_TICKSPERSEC is the frequency of the external clock * source. */ diff --git a/sched/sched/sched_cpuload_period.c b/sched/sched/sched_cpuload_period.c index b5e21b20e6..7bbb47cbf0 100644 --- a/sched/sched/sched_cpuload_period.c +++ b/sched/sched/sched_cpuload_period.c @@ -41,10 +41,6 @@ /* Configuration ************************************************************/ -#if !defined(CONFIG_SCHED_CPULOAD) || !defined(CONFIG_SCHED_CPULOAD_EXTCLK) -# error CONFIG_SCHED_CPULOAD and CONFIG_SCHED_CPULOAD_EXTCLK must be defined -#endif - /* CONFIG_SCHED_CPULOAD_TICKSPERSEC is the frequency of the external clock * source. */ diff --git a/sched/sched/sched_releasetcb.c b/sched/sched/sched_releasetcb.c index 5983ed7230..dc996af946 100644 --- a/sched/sched/sched_releasetcb.c +++ b/sched/sched/sched_releasetcb.c @@ -51,7 +51,7 @@ static void nxsched_releasepid(pid_t pid) irqstate_t flags = enter_critical_section(); int hash_ndx = PIDHASH(pid); -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE /* Decrement the total CPU load count held by this thread from the * total for all threads. */ diff --git a/sched/sched/sched_sysinfo.c b/sched/sched/sched_sysinfo.c index 024fd605a7..de2dd017ca 100644 --- a/sched/sched/sched_sysinfo.c +++ b/sched/sched/sched_sysinfo.c @@ -46,7 +46,7 @@ int sysinfo(FAR struct sysinfo *info) { -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE struct cpuload_s cpuload; #endif #ifdef CONFIG_MM_PGALLOC @@ -62,7 +62,7 @@ int sysinfo(FAR struct sysinfo *info) memset(info, 0, sizeof(*info)); -#ifdef CONFIG_SCHED_CPULOAD +#ifndef CONFIG_SCHED_CPULOAD_NONE clock_cpuload(0, &cpuload); /* On the simulator, you may hit cpuload.total == 0, but probably never