This is an automated email from the ASF dual-hosted git repository. jiuzhudong pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit b76a8408c19babc6fd291a3d4392b4380c4a6514 Author: Xiang Xiao <[email protected]> AuthorDate: Wed Jun 4 11:40:37 2025 +0800 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 <[email protected]> --- sched/clock/clock_perf.c | 39 ++++++++++++--------------------------- 1 file changed, 12 insertions(+), 27 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,30 +104,19 @@ 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; -} +#elif defined(CONFIG_ALARM_ARCH) || defined (CONFIG_TIMER_ARCH) || \ + defined(CONFIG_ARCH_PERF_EVENTS) /**************************************************************************** - * perf_getfreq + * perf_gettime ****************************************************************************/ -unsigned long perf_getfreq(void) +clock_t perf_gettime(void) { - return up_perf_getfreq(); + return up_perf_gettime(); } -#elif defined(CONFIG_ALARM_ARCH) || defined (CONFIG_TIMER_ARCH) || \ - defined(CONFIG_ARCH_PERF_EVENTS) +#else /**************************************************************************** * perf_gettime @@ -135,9 +124,14 @@ unsigned long perf_getfreq(void) clock_t perf_gettime(void) { - return up_perf_gettime(); + 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 ****************************************************************************/
