diff options
Diffstat (limited to 'arch/x86/kernel/process.c')
| -rw-r--r-- | arch/x86/kernel/process.c | 25 | 
1 files changed, 13 insertions, 12 deletions
| diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index 15763af7bfe3..14baf78d5a1f 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c @@ -21,6 +21,7 @@  #include <asm/idle.h>  #include <asm/uaccess.h>  #include <asm/i387.h> +#include <asm/fpu-internal.h>  #include <asm/debugreg.h>  struct kmem_cache *task_xstate_cachep; @@ -377,8 +378,8 @@ static inline int hlt_use_halt(void)  void default_idle(void)  {  	if (hlt_use_halt()) { -		trace_power_start(POWER_CSTATE, 1, smp_processor_id()); -		trace_cpu_idle(1, smp_processor_id()); +		trace_power_start_rcuidle(POWER_CSTATE, 1, smp_processor_id()); +		trace_cpu_idle_rcuidle(1, smp_processor_id());  		current_thread_info()->status &= ~TS_POLLING;  		/*  		 * TS_POLLING-cleared state must be visible before we @@ -391,8 +392,8 @@ void default_idle(void)  		else  			local_irq_enable();  		current_thread_info()->status |= TS_POLLING; -		trace_power_end(smp_processor_id()); -		trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()); +		trace_power_end_rcuidle(smp_processor_id()); +		trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());  	} else {  		local_irq_enable();  		/* loop is done by the caller */ @@ -450,8 +451,8 @@ EXPORT_SYMBOL_GPL(cpu_idle_wait);  static void mwait_idle(void)  {  	if (!need_resched()) { -		trace_power_start(POWER_CSTATE, 1, smp_processor_id()); -		trace_cpu_idle(1, smp_processor_id()); +		trace_power_start_rcuidle(POWER_CSTATE, 1, smp_processor_id()); +		trace_cpu_idle_rcuidle(1, smp_processor_id());  		if (this_cpu_has(X86_FEATURE_CLFLUSH_MONITOR))  			clflush((void *)¤t_thread_info()->flags); @@ -461,8 +462,8 @@ static void mwait_idle(void)  			__sti_mwait(0, 0);  		else  			local_irq_enable(); -		trace_power_end(smp_processor_id()); -		trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()); +		trace_power_end_rcuidle(smp_processor_id()); +		trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());  	} else  		local_irq_enable();  } @@ -474,13 +475,13 @@ static void mwait_idle(void)   */  static void poll_idle(void)  { -	trace_power_start(POWER_CSTATE, 0, smp_processor_id()); -	trace_cpu_idle(0, smp_processor_id()); +	trace_power_start_rcuidle(POWER_CSTATE, 0, smp_processor_id()); +	trace_cpu_idle_rcuidle(0, smp_processor_id());  	local_irq_enable();  	while (!need_resched())  		cpu_relax(); -	trace_power_end(smp_processor_id()); -	trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()); +	trace_power_end_rcuidle(smp_processor_id()); +	trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());  }  /* | 
