Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.

Slides:



Advertisements
Similar presentations
汇报人:徐新清 实施多元智能教育与评价 走出民办高校学生管理困境. 我校的基本情况 1 4 民办高校学生管理普遍存在的困境 2 3 我校实施多元智能教育与评价的理念和具体措施 实施效果 —— 学校软实力不断提升.
Advertisements

定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
关于德国立能的疑难解答. Page  2 德国立能真正有效果吗?多长时间有效?  答:立能产品来自国际航天科技,曾作为国家机密封存了 20 年之久,一经投入民用市场就迅速受到高端人群和有识 之士的追捧!它的实验效果立竿见影,坚持使用时间越久, 对脊柱养护和人体整体的健康保健效果越好!
教师队伍建设 组员:王英利 赵香媖 侯娟. 主讲内容 2. 中小学教师队伍建设 1. 职业教育师资队伍建设国际比较 3. 高校教师队伍建设与管理.
大公教育行政职业能力测验讲义 邢长文老师. Page 2 大公教育全国客服热线:
高级服务器设计和实现 1 —— 基础与进阶 余锋
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
VMSF 內核級虛擬機監控器調度框架 1 張力升 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
© 蘇國賢 2000 社會統計(上) Page 1 虛擬變數 Dummy Variables 在迴歸方程式中,我們假設所有的變數皆 為連續變數。如果遇到名目尺度變數,我 們可以用虛擬變數來進行分析。 虛擬變數 (D) 由稱為類別變數 (categorical variables) ,通常以 (0,1)
提 纲 三次考察与改革的回顾 1 学院三周来的新面貌 及下一步工作思路 2 凝心聚力、团结协作、狠抓落实 3.
——以通渭县图书馆青树小项目“携老上网游”为例
FD班座谈会 -结合学校目标 找准自己位置-
金融业营改增情况介绍 芜湖市国税局税政制度处 胡光烈.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
開南大學 資訊管理學系 學分學程相關說明.
我征服了黃山 林達的黃山之旅 2006春.
2013浙江省行测专题 密卷解析及备考冲刺 罗 姮.
龙芯多媒体电脑教室培训 龙梦极域电子教室 江苏龙芯梦兰科技股份有限公司.
舊高等農林學校作業室.
中国好看的PPT模板网: 搜集整理发布
战争结束了 年11月,听到停战的消息,巴黎街头人们欣喜若狂。法国总理克里孟梭说:“吻我的姑娘有500多个了。”
香港普通話研習社科技創意小學 周順強老師.
第一章信託法 第一節 信託契約 第二節 信託財產 第三節 受益人 第四節 受託人 第五節 信託關係之消滅.
法國大革命                                                                            
KVM简介 指导老师:孟宁 学生:卢鹏.
实用操作系统概念 张惠娟 副教授 1.
第三章 心理安全 广西师范大学 罗蕾.
Department of Electrical Engineering National Cheng Kung University
时间管理 -----高一团体辅导.
如何备考?.
Xen基础架构安全性分析 云朋
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
OpenMP简介和开发教程 广州创龙电子科技有限公司
虛擬化基本概念.
大学计算机基础 典型案例之一 构建FPT服务器.
实践演练 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
Jul 2014 HEAT部署Hadoop集群
伺服器探索營 Day 1 指導老師: 張啟中 (JohnAxer) 教學助理:
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
KVM虚拟机性能优化与应用 黄秋兰 高能物理研究所
如何生成设备节点 广州创龙电子科技有限公司
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
雲端計算.
Page Down 跳頁 高等眾生不一定都住在天堂, 當你內心有愛、很單純、 有同情心,內心很平靜時, 你就是高等眾生了。 由 鄭福平.
Linux虚拟化技术KVM简介 陈岩
教專評轉型規劃草案說明 臺中市教專中心秘書 張素女
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
系统虚拟化 厉肖
蓝色图示 — 无动画版.
運動競賽制度 授課教師:鄭俊傑副教授.
雲端虛擬化 Cloud Virtualization
Introduction to C Programming
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
KVM及其调度简介 by 胡小康.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
信号量(Semaphore).
綠色食品的銷售前境 此專題習作乃是我組嘔心瀝血的作品 , 保證史無前例 . 如在任何地方見過此雷同習題 . 請認定他是抄我們的!! 因為呢個電腦部分係全權由全組最精於電腦個個負責! 絕無可能流出市面!! 想知我個組有邊個!? 睇落去就知!
本节内容 模块隐藏 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
临界区问题的硬件指令解决方案 (Synchronization Hardware)
OpenStack vs CloudStack
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
Chinese Virtual Observatory
XXXX智慧校园设计方案 ——XXXX信息科技有限公司 XX年XX月.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
县级支中心 乡镇基层服务点的建设 朱 庆 华.
Primary introduction to docker
Presentation transcript:

kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩

qemu-kvm结构图 qemu /dev/kvm:kvm以字符设备的形式暴露给qemu使用,该字符设备实现了ioctl操作 libkvm libkvm:把ioctl操作进一步封装,暴露给qemu使用 /dev/kvm kvm (linux内核空间)

创建vm 1.打开dev/kvm设备获得fd 2.ioctl(KVM_CREATE_KVM),创建一个虚拟机 user_space kernel kvm_dev的file_operation ----> kvm_dev_ioctl (case KVM_CREATE_VM:) kvm_dev_ioctl_create_vm 创建kvm结构体,一台虚拟机对应一个kvm结构体,kvm保存vm的整体上下文 anon_inode_getfd返回供用户态使用的vm_fd

创建vcpu 1.对vm_fd 进行ioctl(KVM_CREATE_VCPU) user_space kernel vm_fd的file_operation ----> kvm_vm_fops.unlocked_ioctl (=kvm_vm_ioctl) (case KVM_CREATE_VCPU:) kvm_vm_ioctl_create_vcpu kvm_vm_ioctl_create_vcpu主要流程 kvm_vcpu结构体,保存cpu上下文 vcpu_fd:供user_space使用 将kvm_vcpu加入到相应kvm结构中

vcpu执行过程 VMM是qemu中的一个进程,运行在用户态,而每个vcpu由VMM的一个线程负责执行

vcpu执行过程 kernel VM_RUN VCPU_RUN 在VMM中处理VM_EXIT消息 VM_EXIT 虚拟机调度阻塞 在kernel中处理VM_EXIT消息 获得Event信息 VCP获取退出原因 能否内部处理 是否终止vcpu执行 kernel 传递回VMM进程处理 终止vcpu线程

虚拟机内存管理 guest guest_phys_addr host_virtual_addr VMM host host_phys_addr

缺页中断处理

同步的缺页中断处理

异步的缺页中断处理

缺页中断的整个过程 1.VM_EXIT 2.kvm_x86_ops.handle_exit(=vmx_handle_exit) (kvm_init-->kvm_arch_init-->assign kvm_x86_ops) 在vmx_handle_exit中: exit_reason=EXIT_REASON_EPT_VIOLATION 2.kvm_vmx_exit_handlers[handle_ept_violation](vcpu)(=handle_ept_violation) 3.kvm_mmu_page_fault vcpu.arch.mmu.page_fault(=tdp_page_fault) 4.tdp_page_fault

tdp_page_fault try_async_pf gfn_to_pfn_async __gfn_to_pfn(find memslot) __gfn_to_pfn_memslot(find hva) hva_to_pfn 1.hva_to_pfn_fast(没有加锁?) __get_user_pages_fast 2.hva_to_pfn_slow

如何确定使用EPT还是shadow页表

reference 1.https://www.linux-kvm.org/images/a/ac/2010-forum-Async-page-faults.pdf 2.http://blog.csdn.net/lux_veritas/article/details/9284635