From b76a8408c19babc6fd291a3d4392b4380c4a6514 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Wed, 4 Jun 2025 11:40:37 +0800 Subject: [PATCH] sched/clock: Refine the code structure for userspace access Reorganize perf_gettime implementation to eliminate duplicate functions and improve code structure for userspace library integration, consolidating logic flow for better maintainability. Signed-off-by: Xiang Xiao --- sched/clock/clock_perf.c | 47 ++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 31 deletions(-) diff --git a/sched/clock/clock_perf.c b/sched/clock/clock_perf.c index 1ca3cfc5082..76db84aabe9 100644 --- a/sched/clock/clock_perf.c +++ b/sched/clock/clock_perf.c @@ -104,28 +104,6 @@ clock_t perf_gettime(void) return result; } -/**************************************************************************** - * perf_convert - ****************************************************************************/ - -void perf_convert(clock_t elapsed, FAR struct timespec *ts) -{ - unsigned long freq = up_perf_getfreq(); - - ts->tv_sec = elapsed / freq; - elapsed -= ts->tv_sec * freq; - ts->tv_nsec = NSEC_PER_SEC * elapsed / freq; -} - -/**************************************************************************** - * perf_getfreq - ****************************************************************************/ - -unsigned long perf_getfreq(void) -{ - return up_perf_getfreq(); -} - #elif defined(CONFIG_ALARM_ARCH) || defined (CONFIG_TIMER_ARCH) || \ defined(CONFIG_ARCH_PERF_EVENTS) @@ -138,6 +116,22 @@ clock_t perf_gettime(void) return up_perf_gettime(); } +#else + +/**************************************************************************** + * perf_gettime + ****************************************************************************/ + +clock_t perf_gettime(void) +{ + return clock_systime_ticks(); +} + +#endif + +#if defined(CONFIG_ALARM_ARCH) || defined (CONFIG_TIMER_ARCH) || \ + defined(CONFIG_ARCH_PERF_EVENTS) + /**************************************************************************** * perf_convert ****************************************************************************/ @@ -158,15 +152,6 @@ unsigned long perf_getfreq(void) #else -/**************************************************************************** - * perf_gettime - ****************************************************************************/ - -clock_t perf_gettime(void) -{ - return clock_systime_ticks(); -} - /**************************************************************************** * perf_convert ****************************************************************************/