diff options
Diffstat (limited to 'kernel/time/timer.c')
| -rw-r--r-- | kernel/time/timer.c | 48 | 
1 files changed, 2 insertions, 46 deletions
diff --git a/kernel/time/timer.c b/kernel/time/timer.c index ec33a6933eae..82a6bfa0c307 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c @@ -571,38 +571,6 @@ internal_add_timer(struct timer_base *base, struct timer_list *timer)  	trigger_dyntick_cpu(base, timer);  } -#ifdef CONFIG_TIMER_STATS -void __timer_stats_timer_set_start_info(struct timer_list *timer, void *addr) -{ -	if (timer->start_site) -		return; - -	timer->start_site = addr; -	memcpy(timer->start_comm, current->comm, TASK_COMM_LEN); -	timer->start_pid = current->pid; -} - -static void timer_stats_account_timer(struct timer_list *timer) -{ -	void *site; - -	/* -	 * start_site can be concurrently reset by -	 * timer_stats_timer_clear_start_info() -	 */ -	site = READ_ONCE(timer->start_site); -	if (likely(!site)) -		return; - -	timer_stats_update_stats(timer, timer->start_pid, site, -				 timer->function, timer->start_comm, -				 timer->flags); -} - -#else -static void timer_stats_account_timer(struct timer_list *timer) {} -#endif -  #ifdef CONFIG_DEBUG_OBJECTS_TIMERS  static struct debug_obj_descr timer_debug_descr; @@ -789,11 +757,6 @@ static void do_init_timer(struct timer_list *timer, unsigned int flags,  {  	timer->entry.pprev = NULL;  	timer->flags = flags | raw_smp_processor_id(); -#ifdef CONFIG_TIMER_STATS -	timer->start_site = NULL; -	timer->start_pid = -1; -	memset(timer->start_comm, 0, TASK_COMM_LEN); -#endif  	lockdep_init_map(&timer->lockdep_map, name, key, 0);  } @@ -1001,8 +964,6 @@ __mod_timer(struct timer_list *timer, unsigned long expires, bool pending_only)  		base = lock_timer_base(timer, &flags);  	} -	timer_stats_timer_set_start_info(timer); -  	ret = detach_if_pending(timer, base, false);  	if (!ret && pending_only)  		goto out_unlock; @@ -1130,7 +1091,6 @@ void add_timer_on(struct timer_list *timer, int cpu)  	struct timer_base *new_base, *base;  	unsigned long flags; -	timer_stats_timer_set_start_info(timer);  	BUG_ON(timer_pending(timer) || !timer->function);  	new_base = get_timer_cpu_base(timer->flags, cpu); @@ -1176,7 +1136,6 @@ int del_timer(struct timer_list *timer)  	debug_assert_init(timer); -	timer_stats_timer_clear_start_info(timer);  	if (timer_pending(timer)) {  		base = lock_timer_base(timer, &flags);  		ret = detach_if_pending(timer, base, true); @@ -1204,10 +1163,9 @@ int try_to_del_timer_sync(struct timer_list *timer)  	base = lock_timer_base(timer, &flags); -	if (base->running_timer != timer) { -		timer_stats_timer_clear_start_info(timer); +	if (base->running_timer != timer)  		ret = detach_if_pending(timer, base, true); -	} +  	spin_unlock_irqrestore(&base->lock, flags);  	return ret; @@ -1331,7 +1289,6 @@ static void expire_timers(struct timer_base *base, struct hlist_head *head)  		unsigned long data;  		timer = hlist_entry(head->first, struct timer_list, entry); -		timer_stats_account_timer(timer);  		base->running_timer = timer;  		detach_timer(timer, true); @@ -1868,7 +1825,6 @@ static void __init init_timer_cpus(void)  void __init init_timers(void)  {  	init_timer_cpus(); -	init_timer_stats();  	open_softirq(TIMER_SOFTIRQ, run_timer_softirq);  }  | 
