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
  ****************************************************************************/

Reply via email to