chao an
ee6e2ce149
arch/perf: add ARCH_HAVE_PERF_EVENTS to support hardware perf events
...
The implementation of up_perf_*() is in a different static library in nuttx:
Hardware: libarch.a
Software: libdrivers.a (weak function)
Since functions with weak attributes cannot be correctly replaced in multiple static libraries,
this PR will use macros to replace whether the arch supports hardware perf events
Signed-off-by: chao an <anchao@xiaomi.com>
2023-07-21 20:43:30 +08:00
yinshengkai
81553deb53
time: add up_perf_init weak_function
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-07-11 10:09:25 -03:00
wangming9
a7fc26124d
arch/arm64: the arm64 perf interface supports pmu
...
Summary:
- Support arm64 pmu api, Currently only the cycle counter function is supported.
- Using ARM64 PMU hardware capability to implement perf interface, modify all
perf interface related code.
- Support for pmu init under smp.
Signed-off-by: wangming9 <wangming9@xiaomi.com>
2023-04-10 16:23:49 -03:00
zhangyuan21
443c4c46b0
arch_timer: fixed build issue when enable tickless
...
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-03-15 11:52:52 +01:00
zhangyuan21
b118083c35
arch_timer: adjust timer/arch_timer to support tick
...
Enable CONFIG_SCHED_TICKLESS_TICK_ARGUMENT in tickless mode
to improve the performance.
2022-11-01 21:53:08 +08:00
zhangyuan21
750007ded9
sched: use tick count for sched timer expiration
2022-10-12 11:55:46 +08:00
Petro Karashchenko
d08fbca679
nuttx: unify FAR attribute usage across the code
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-04-04 21:32:58 +08:00
Xiang Xiao
ecccc614bd
arch: Add up_perf_getfreq function
...
it's important to know the perf count frequency
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-25 21:02:14 -03:00
Xiang Xiao
bc2dd37051
drivers/timers: Add weak_function for up_ function
...
so the user could replace the implementation if need
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-25 13:35:05 +01:00
Xiang Xiao
a24ae559c2
arch: Decouple up_critmon_[gettime|convert] from critmon
...
and rename to up_perf_[gettime|convert] since it's useful in other case
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-25 14:43:34 +08:00
Anthony Merlino
9c8c2b0db2
Separate CLOCK_TIMEKEEPING and SCHED_TICKLESS.
2021-04-13 11:42:31 -05:00
Xiang Xiao
8e8f41faeb
drivers/timer: auto select the related option in Kconfig
...
to avoid the user make the wrong combination in defconfig
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-09-04 16:16:51 -03:00
Xiang Xiao
b5f429c88b
Fix nxstyle warning
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-22 17:37:21 -06:00
Xiang Xiao
ae356001cf
Change all files come from Xiaomi/Pinecone to Apache License 2.0
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-22 17:37:21 -06:00
Gregory Nutt
2761279839
drivers/bch, pipes, timers: Run drivers through tools/nxstyle, correcting as many complaints as possible.
2019-12-06 23:36:33 -06:00
Gregory Nutt
9acb652e29
Rename sched_timer_expiration to nxsched_timer_expiration. That is the appropriate name for an internal sched/ function (still many named incorrectly).
2019-03-20 19:31:43 -06:00
Gregory Nutt
b290160b3b
Rename sched_process_timer to nxsched_process_timer. That is the appropriate name for an internal sched/ function (still many named incorrectly).
2019-03-20 19:27:40 -06:00
Xiang Xiao
15db8a21ae
drivers/timers/arch_alarm.c and arch_timer.c: Implement up_critmon_gettime and up_critmon_convert and remove the critical section from current_usec to infinite recursion.
2019-01-27 10:15:51 -06:00
Xiang Xiao
2e8ffd8cc6
drivers/timers: Simplify the error handling in arch rtc/alarm/timer wrapper
2018-11-08 12:06:44 -06:00
Xiang Xiao
6c057e608b
Squashed commit of the following:
...
drivers/timers/arch_timer.c: implement timer arch API on top of timer driver interface
drivers/timers/arch_alarm.c: Implement alarm arch API on top of oneshot driver interface
drivers/timers/arch_rtc.c: Implement RTC arch API on top of RTC driver interface
include/nuttx/timers/rtc.h: Extend struct rtc_time by adding tm_nsec if RTC supporst hiresolution time.
2018-08-27 11:55:30 -06:00