* [Question]: redundant interrupts for broadcast timer
@ 2014-08-19 5:31 ` Leo Yan
0 siblings, 0 replies; 2+ messages in thread
From: Leo Yan @ 2014-08-19 5:31 UTC (permalink / raw)
To: linux-arm-kernel
hi,
We observed the redundant interrupts for broadcast timer, so want to
confirm here firstly; pls see below flow:
1. Thread_A starts a hrtimer with 100ms timeout, and then thread_A will
remove from the runqueue to sleep;
2. The CPU which thread_A runs on will enter idle and call notify
CLOCK_EVT_NOTIFY_BROADCAST_ENTER, so the CPU will shutdown its local
timer and set broadcast timer's next event with delta for 100ms;
3. After 70ms later, the CPU is waken up by other peripheral's interrupt
and thread_A will be waken up as well; thread_A will cancel the hrtimer
at this point, kernel will remove the timer event from the event queue
but it will not disable broadcast timer;
4. So after 30ms later, the broadcast timer interrupt will be triggered
even though the timer has been cancelled by s/w in step 3.
With current timer framework, is upper behaviour expected? Or maybe we
miss something so that introduce such kind issue?
And i'm interesting now if have some idea to optimize such issue, very
appreciate for suggestion and comment.
Thanks,
Leo Yan
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Question]: redundant interrupts for broadcast timer
@ 2014-08-19 5:31 ` Leo Yan
0 siblings, 0 replies; 2+ messages in thread
From: Leo Yan @ 2014-08-19 5:31 UTC (permalink / raw)
To: Chao Xie, Leo Song, Lu Mao, linux-arm-kernel@lists.infradead.org,
linux-kernel
hi,
We observed the redundant interrupts for broadcast timer, so want to
confirm here firstly; pls see below flow:
1. Thread_A starts a hrtimer with 100ms timeout, and then thread_A will
remove from the runqueue to sleep;
2. The CPU which thread_A runs on will enter idle and call notify
CLOCK_EVT_NOTIFY_BROADCAST_ENTER, so the CPU will shutdown its local
timer and set broadcast timer's next event with delta for 100ms;
3. After 70ms later, the CPU is waken up by other peripheral's interrupt
and thread_A will be waken up as well; thread_A will cancel the hrtimer
at this point, kernel will remove the timer event from the event queue
but it will not disable broadcast timer;
4. So after 30ms later, the broadcast timer interrupt will be triggered
even though the timer has been cancelled by s/w in step 3.
With current timer framework, is upper behaviour expected? Or maybe we
miss something so that introduce such kind issue?
And i'm interesting now if have some idea to optimize such issue, very
appreciate for suggestion and comment.
Thanks,
Leo Yan
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-08-19 5:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-19 5:31 [Question]: redundant interrupts for broadcast timer Leo Yan
2014-08-19 5:31 ` Leo Yan
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.