Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
43952886
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
43952886
编写于
14年前
作者:
L
Len Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'cpuidle-perf-events' into idle-test
上级
56dbed12
f77cfe4e
无相关合并请求
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
12 addition
and
16 deletion
+12
-16
arch/x86/kernel/process.c
arch/x86/kernel/process.c
+4
-2
arch/x86/kernel/process_32.c
arch/x86/kernel/process_32.c
+0
-4
arch/x86/kernel/process_64.c
arch/x86/kernel/process_64.c
+0
-6
drivers/cpuidle/cpuidle.c
drivers/cpuidle/cpuidle.c
+8
-2
drivers/idle/intel_idle.c
drivers/idle/intel_idle.c
+0
-2
未找到文件。
arch/x86/kernel/process.c
浏览文件 @
43952886
...
...
@@ -381,6 +381,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
());
}
else
{
local_irq_enable
();
/* loop is done by the caller */
...
...
@@ -438,8 +440,6 @@ EXPORT_SYMBOL_GPL(cpu_idle_wait);
*/
void
mwait_idle_with_hints
(
unsigned
long
ax
,
unsigned
long
cx
)
{
trace_power_start
(
POWER_CSTATE
,
(
ax
>>
4
)
+
1
,
smp_processor_id
());
trace_cpu_idle
((
ax
>>
4
)
+
1
,
smp_processor_id
());
if
(
!
need_resched
())
{
if
(
cpu_has
(
__this_cpu_ptr
(
&
cpu_info
),
X86_FEATURE_CLFLUSH_MONITOR
))
clflush
((
void
*
)
&
current_thread_info
()
->
flags
);
...
...
@@ -466,6 +466,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
());
}
else
local_irq_enable
();
}
...
...
This diff is collapsed.
Click to expand it.
arch/x86/kernel/process_32.c
浏览文件 @
43952886
...
...
@@ -57,8 +57,6 @@
#include <asm/syscalls.h>
#include <asm/debugreg.h>
#include <trace/events/power.h>
asmlinkage
void
ret_from_fork
(
void
)
__asm__
(
"ret_from_fork"
);
/*
...
...
@@ -113,8 +111,6 @@ void cpu_idle(void)
stop_critical_timings
();
pm_idle
();
start_critical_timings
();
trace_power_end
(
smp_processor_id
());
trace_cpu_idle
(
PWR_EVENT_EXIT
,
smp_processor_id
());
}
tick_nohz_restart_sched_tick
();
preempt_enable_no_resched
();
...
...
This diff is collapsed.
Click to expand it.
arch/x86/kernel/process_64.c
浏览文件 @
43952886
...
...
@@ -51,8 +51,6 @@
#include <asm/syscalls.h>
#include <asm/debugreg.h>
#include <trace/events/power.h>
asmlinkage
extern
void
ret_from_fork
(
void
);
DEFINE_PER_CPU
(
unsigned
long
,
old_rsp
);
...
...
@@ -141,10 +139,6 @@ void cpu_idle(void)
pm_idle
();
start_critical_timings
();
trace_power_end
(
smp_processor_id
());
trace_cpu_idle
(
PWR_EVENT_EXIT
,
smp_processor_id
());
/* In many cases the interrupt that ended idle
has already called exit_idle. But some idle
loops can be woken up without interrupt. */
...
...
This diff is collapsed.
Click to expand it.
drivers/cpuidle/cpuidle.c
浏览文件 @
43952886
...
...
@@ -96,7 +96,15 @@ static void cpuidle_idle_call(void)
/* enter the state and update stats */
dev
->
last_state
=
target_state
;
trace_power_start
(
POWER_CSTATE
,
next_state
,
dev
->
cpu
);
trace_cpu_idle
(
next_state
,
dev
->
cpu
);
dev
->
last_residency
=
target_state
->
enter
(
dev
,
target_state
);
trace_power_end
(
dev
->
cpu
);
trace_cpu_idle
(
PWR_EVENT_EXIT
,
dev
->
cpu
);
if
(
dev
->
last_state
)
target_state
=
dev
->
last_state
;
...
...
@@ -106,8 +114,6 @@ static void cpuidle_idle_call(void)
/* give the governor an opportunity to reflect on the outcome */
if
(
cpuidle_curr_governor
->
reflect
)
cpuidle_curr_governor
->
reflect
(
dev
);
trace_power_end
(
smp_processor_id
());
trace_cpu_idle
(
PWR_EVENT_EXIT
,
smp_processor_id
());
}
/**
...
...
This diff is collapsed.
Click to expand it.
drivers/idle/intel_idle.c
浏览文件 @
43952886
...
...
@@ -231,8 +231,6 @@ static int intel_idle(struct cpuidle_device *dev, struct cpuidle_state *state)
kt_before
=
ktime_get_real
();
stop_critical_timings
();
trace_power_start
(
POWER_CSTATE
,
(
eax
>>
4
)
+
1
,
cpu
);
trace_cpu_idle
((
eax
>>
4
)
+
1
,
cpu
);
if
(
!
need_resched
())
{
__monitor
((
void
*
)
&
current_thread_info
()
->
flags
,
0
,
0
);
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部