mirror of
https://github.com/apache/nuttx.git
synced 2026-05-12 01:42:49 +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;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* 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
|
||||
****************************************************************************/
|
||||
|
||||
Reference in New Issue
Block a user