timer: hpet: enable benchmarking during ISR
This adds the calls to read_timer_{start,end}_of_tick_handler() to mark the start and end of ISR which will be used to display the time spent in ISR with benchmarking tests. Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
parent
31ae13eeb1
commit
cee9d9b039
1 changed files with 12 additions and 0 deletions
|
@ -39,7 +39,14 @@ static unsigned int last_count;
|
|||
static void hpet_isr(void *arg)
|
||||
{
|
||||
ARG_UNUSED(arg);
|
||||
|
||||
#ifdef CONFIG_EXECUTION_BENCHMARKING
|
||||
extern void read_timer_start_of_tick_handler(void);
|
||||
read_timer_start_of_tick_handler();
|
||||
#endif
|
||||
|
||||
k_spinlock_key_t key = k_spin_lock(&lock);
|
||||
|
||||
u32_t now = MAIN_COUNTER_REG;
|
||||
|
||||
if (IS_ENABLED(CONFIG_SMP) &&
|
||||
|
@ -70,6 +77,11 @@ static void hpet_isr(void *arg)
|
|||
|
||||
k_spin_unlock(&lock, key);
|
||||
z_clock_announce(IS_ENABLED(CONFIG_TICKLESS_KERNEL) ? dticks : 1);
|
||||
|
||||
#ifdef CONFIG_EXECUTION_BENCHMARKING
|
||||
extern void read_timer_end_of_tick_handler(void);
|
||||
read_timer_end_of_tick_handler();
|
||||
#endif
|
||||
}
|
||||
|
||||
static void set_timer0_irq(unsigned int irq)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue