mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
hrtimers: Avoid touching inactive timer bases
Instead of iterating over all possible timer bases avoid it by marking the active bases in the cpu base. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Peter Zijlstra <peterz@infradead.org>
This commit is contained in:
parent
f24444b01b
commit
ab8177bc53
6 changed files with 29 additions and 19 deletions
|
@ -494,7 +494,7 @@ static int update_rmtp(ktime_t exp, enum alarmtimer_type type,
|
|||
*/
|
||||
static long __sched alarm_timer_nsleep_restart(struct restart_block *restart)
|
||||
{
|
||||
enum alarmtimer_type type = restart->nanosleep.index;
|
||||
enum alarmtimer_type type = restart->nanosleep.clockid;
|
||||
ktime_t exp;
|
||||
struct timespec __user *rmtp;
|
||||
struct alarm alarm;
|
||||
|
@ -573,7 +573,7 @@ static int alarm_timer_nsleep(const clockid_t which_clock, int flags,
|
|||
|
||||
restart = ¤t_thread_info()->restart_block;
|
||||
restart->fn = alarm_timer_nsleep_restart;
|
||||
restart->nanosleep.index = type;
|
||||
restart->nanosleep.clockid = type;
|
||||
restart->nanosleep.expires = exp.tv64;
|
||||
restart->nanosleep.rmtp = rmtp;
|
||||
ret = -ERESTART_RESTARTBLOCK;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue