Skip to content

Commit

Permalink
arch/arm64:Suppot tickless mode
Browse files Browse the repository at this point in the history
1 Similar to Linux and zephyr, all implementations are in arm64_arch_timer.c

2 Arm64 tickless is turned off by default. If it needs to be turned on, you need to configure the switch CONFIG_SCHED_TICKLESS ON

3 The implementation strategy for tick/tickless is to use the timer inside the CPU and implement the timer driver based on the ARCH_TIMER framework.

4 We implemented tick_* Callback functions to adapt to the driven interface to avoid time format conversion overhead

5 In arm64_tick_cancel func,The remaining time that is not used, so this value can be ignored without reading the corresponding register to obtain the remaining cycles

6 Currently, tick/tickless can takes effect in SMP and non SMP mode, ostest can pass.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
  • Loading branch information
hujun260 committed Apr 14, 2023
1 parent b94cc5f commit 9ebeea6
Show file tree
Hide file tree
Showing 4 changed files with 272 additions and 82 deletions.
2 changes: 2 additions & 0 deletions arch/Kconfig
Expand Up @@ -24,6 +24,7 @@ config ARCH_ARM

config ARCH_ARM64
bool "ARM64"
select ALARM_ARCH
select ARCH_HAVE_BACKTRACE
select ARCH_HAVE_INTERRUPTSTACK
select ARCH_HAVE_VFORK
Expand All @@ -33,6 +34,7 @@ config ARCH_ARM64
select ARCH_HAVE_SYSCALL_HOOKS
select ARCH_HAVE_RDWR_MEM_CPU_RUN
select ARCH_HAVE_THREAD_LOCAL
select ONESHOT
---help---
The ARM64 architectures

Expand Down

0 comments on commit 9ebeea6

Please sign in to comment.