sched/clock: Make g_system_ticks a static variable

Make g_system_ticks a static variable, as it is only accessed by
    clock_get_sched_ticks().

    This change improves code modularity and enhances safety, since
    clock_get_sched_ticks() performs proper synchronization when
    reading g_system_ticks.

Signed-off-by: Chengdong Wang wangchengdong@lixiang.com
This commit is contained in:
wangchengdong
2025-11-13 17:26:31 +08:00
committed by Alan C. Assis
parent 1b58dd92d8
commit 1b58a449c5
4 changed files with 6 additions and 22 deletions

View File

@@ -324,18 +324,6 @@ extern "C"
#define EXTERN extern
#endif
/* Access to raw system clock ***********************************************/
/* Direct access to the system timer/counter is supported only if (1) the
* system timer counter is available (i.e., we are not configured to use
* a hardware periodic timer), and (2) the execution environment has direct
* access to kernel global data
*/
#ifdef __HAVE_KERNEL_GLOBALS
EXTERN volatile clock_t g_system_ticks;
#endif
/****************************************************************************
* Public Function Prototypes
****************************************************************************/

View File

@@ -61,14 +61,6 @@
* Public Data
****************************************************************************/
#if !defined(__HAVE_KERNEL_GLOBALS)
/* The system clock exists (CONFIG_SCHED_TICKLESS), but it not prototyped
* globally in include/nuttx/clock.h.
*/
extern volatile clock_t g_system_ticks;
#endif
#ifndef CONFIG_CLOCK_TIMEKEEPING
extern struct timespec g_basetime;
extern spinlock_t g_basetime_lock;

View File

@@ -51,8 +51,6 @@
* Public Data
****************************************************************************/
volatile clock_t g_system_ticks = INITIAL_SYSTEM_TIMER_TICKS;
#ifndef CONFIG_CLOCK_TIMEKEEPING
struct timespec g_basetime;
spinlock_t g_basetime_lock = SP_UNLOCKED;

View File

@@ -34,6 +34,12 @@
#include "clock/clock.h"
/****************************************************************************
* Private Data
****************************************************************************/
static volatile clock_t g_system_ticks = INITIAL_SYSTEM_TIMER_TICKS;
/****************************************************************************
* Public Functions
****************************************************************************/