timers: Make run_local_timers() static
No users outside of the timer code. Move the caller below this function to avoid a pointless forward declaration. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
6e5a91901c
commit
cc947f2b9c
|
@ -193,7 +193,6 @@ extern int try_to_del_timer_sync(struct timer_list *timer);
|
||||||
#define del_singleshot_timer_sync(t) del_timer_sync(t)
|
#define del_singleshot_timer_sync(t) del_timer_sync(t)
|
||||||
|
|
||||||
extern void init_timers(void);
|
extern void init_timers(void);
|
||||||
extern void run_local_timers(void);
|
|
||||||
struct hrtimer;
|
struct hrtimer;
|
||||||
extern enum hrtimer_restart it_real_fn(struct hrtimer *);
|
extern enum hrtimer_restart it_real_fn(struct hrtimer *);
|
||||||
|
|
||||||
|
|
|
@ -1705,29 +1705,6 @@ void timer_clear_idle(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* Called from the timer interrupt handler to charge one tick to the current
|
|
||||||
* process. user_tick is 1 if the tick is user time, 0 for system.
|
|
||||||
*/
|
|
||||||
void update_process_times(int user_tick)
|
|
||||||
{
|
|
||||||
struct task_struct *p = current;
|
|
||||||
|
|
||||||
PRANDOM_ADD_NOISE(jiffies, user_tick, p, 0);
|
|
||||||
|
|
||||||
/* Note: this timer irq context must be accounted for as well. */
|
|
||||||
account_process_tick(p, user_tick);
|
|
||||||
run_local_timers();
|
|
||||||
rcu_sched_clock_irq(user_tick);
|
|
||||||
#ifdef CONFIG_IRQ_WORK
|
|
||||||
if (in_irq())
|
|
||||||
irq_work_tick();
|
|
||||||
#endif
|
|
||||||
scheduler_tick();
|
|
||||||
if (IS_ENABLED(CONFIG_POSIX_TIMERS))
|
|
||||||
run_posix_cpu_timers();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* __run_timers - run all expired timers (if any) on this CPU.
|
* __run_timers - run all expired timers (if any) on this CPU.
|
||||||
* @base: the timer vector to be processed.
|
* @base: the timer vector to be processed.
|
||||||
|
@ -1777,7 +1754,7 @@ static __latent_entropy void run_timer_softirq(struct softirq_action *h)
|
||||||
/*
|
/*
|
||||||
* Called by the local, per-CPU timer interrupt on SMP.
|
* Called by the local, per-CPU timer interrupt on SMP.
|
||||||
*/
|
*/
|
||||||
void run_local_timers(void)
|
static void run_local_timers(void)
|
||||||
{
|
{
|
||||||
struct timer_base *base = this_cpu_ptr(&timer_bases[BASE_STD]);
|
struct timer_base *base = this_cpu_ptr(&timer_bases[BASE_STD]);
|
||||||
|
|
||||||
|
@ -1794,6 +1771,29 @@ void run_local_timers(void)
|
||||||
raise_softirq(TIMER_SOFTIRQ);
|
raise_softirq(TIMER_SOFTIRQ);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Called from the timer interrupt handler to charge one tick to the current
|
||||||
|
* process. user_tick is 1 if the tick is user time, 0 for system.
|
||||||
|
*/
|
||||||
|
void update_process_times(int user_tick)
|
||||||
|
{
|
||||||
|
struct task_struct *p = current;
|
||||||
|
|
||||||
|
PRANDOM_ADD_NOISE(jiffies, user_tick, p, 0);
|
||||||
|
|
||||||
|
/* Note: this timer irq context must be accounted for as well. */
|
||||||
|
account_process_tick(p, user_tick);
|
||||||
|
run_local_timers();
|
||||||
|
rcu_sched_clock_irq(user_tick);
|
||||||
|
#ifdef CONFIG_IRQ_WORK
|
||||||
|
if (in_irq())
|
||||||
|
irq_work_tick();
|
||||||
|
#endif
|
||||||
|
scheduler_tick();
|
||||||
|
if (IS_ENABLED(CONFIG_POSIX_TIMERS))
|
||||||
|
run_posix_cpu_timers();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Since schedule_timeout()'s timer is defined on the stack, it must store
|
* Since schedule_timeout()'s timer is defined on the stack, it must store
|
||||||
* the target task on the stack as well.
|
* the target task on the stack as well.
|
||||||
|
|
Loading…
Reference in New Issue