Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
d686a547
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
d686a547
编写于
1月 06, 2013
作者:
A
Alexander Graf
浏览文件
操作
浏览文件
下载
差异文件
Merge commit 'origin/master' into kvm-ppc-3.8
上级
d591390d
18eb54cf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
2 deletion
+10
-2
arch/x86/kernel/kvm.c
arch/x86/kernel/kvm.c
+10
-2
未找到文件。
arch/x86/kernel/kvm.c
浏览文件 @
d686a547
...
...
@@ -43,6 +43,7 @@
#include <asm/apicdef.h>
#include <asm/hypervisor.h>
#include <asm/kvm_guest.h>
#include <asm/context_tracking.h>
static
int
kvmapf
=
1
;
...
...
@@ -121,6 +122,8 @@ void kvm_async_pf_task_wait(u32 token)
struct
kvm_task_sleep_node
n
,
*
e
;
DEFINE_WAIT
(
wait
);
rcu_irq_enter
();
spin_lock
(
&
b
->
lock
);
e
=
_find_apf_task
(
b
,
token
);
if
(
e
)
{
...
...
@@ -128,6 +131,8 @@ void kvm_async_pf_task_wait(u32 token)
hlist_del
(
&
e
->
link
);
kfree
(
e
);
spin_unlock
(
&
b
->
lock
);
rcu_irq_exit
();
return
;
}
...
...
@@ -152,13 +157,16 @@ void kvm_async_pf_task_wait(u32 token)
/*
* We cannot reschedule. So halt.
*/
rcu_irq_exit
();
native_safe_halt
();
rcu_irq_enter
();
local_irq_disable
();
}
}
if
(
!
n
.
halted
)
finish_wait
(
&
n
.
wq
,
&
wait
);
rcu_irq_exit
();
return
;
}
EXPORT_SYMBOL_GPL
(
kvm_async_pf_task_wait
);
...
...
@@ -252,10 +260,10 @@ do_async_page_fault(struct pt_regs *regs, unsigned long error_code)
break
;
case
KVM_PV_REASON_PAGE_NOT_PRESENT
:
/* page is swapped out by the host. */
rcu_irq_enter
(
);
exception_enter
(
regs
);
exit_idle
();
kvm_async_pf_task_wait
((
u32
)
read_cr2
());
rcu_irq_exit
(
);
exception_exit
(
regs
);
break
;
case
KVM_PV_REASON_PAGE_READY
:
rcu_irq_enter
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录