mirror of
https://github.com/apache/nuttx.git
synced 2026-05-31 14:27:37 +08:00
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 <xiaoxiang@xiaomi.com>
This commit is contained in:
+16
-31
@@ -104,28 +104,6 @@ clock_t perf_gettime(void)
|
|||||||
return result;
|
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) || \
|
#elif defined(CONFIG_ALARM_ARCH) || defined (CONFIG_TIMER_ARCH) || \
|
||||||
defined(CONFIG_ARCH_PERF_EVENTS)
|
defined(CONFIG_ARCH_PERF_EVENTS)
|
||||||
|
|
||||||
@@ -138,6 +116,22 @@ clock_t perf_gettime(void)
|
|||||||
return up_perf_gettime();
|
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
|
* perf_convert
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@@ -158,15 +152,6 @@ unsigned long perf_getfreq(void)
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* perf_gettime
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
clock_t perf_gettime(void)
|
|
||||||
{
|
|
||||||
return clock_systime_ticks();
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* perf_convert
|
* perf_convert
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
Reference in New Issue
Block a user