在AMD平台上实现KVM虚拟化技术 (32)
ASID即 Address Space ID, 是较新的 AMD-V 处理器支持的特征。 ASID 就是在 TLB 的entries 中增加一个 ASID 字段用于区分不同地址空间上下文的 entries, 以便多个地址空间的 TLB entries 可以共存在一个 TLB 中,减少地址空间切换时不必要的 TLB Flush 操作。为支持对 ASID 特征的使用,AMD-V 在VMCS.CONTROL 中增加了两个字段 G_ASID 和TLB_CTRL。 G_ASID用于指定VMRUN 所运行的虚拟机的 ASID。 TLB_CTRL用于控制VMRUN 在重新加载虚拟机状态时怎样 Flush TLB。TLB_CTRL可有 000,001,011,111 四个值,其中 000 表示不做 TLB Flush,001 表示刷全部的 TLB Entries, 011 表示 Flush 本 ASID 的全部TLB Entries, 111 表示 Flush 本 ASID 的非全局的 TLB Entries。 目前 RHEL6.2 的 KVM 代码已经利用 ASID 和 VMCB.TLB_CTRL 做了 TLB Flush 方面的优化。 另外 AMD-V 中还有一个和 ASID 直接相关的指令 invlpga, 执行该指令只 Flush 指定线性地址和 ASID 对应的 TLB entries。 Invlpga 能为 VMM 对 TLB 的管理提供更多的优化空间,如主机上 Linux 的物理页回收代码在释放掉一个物理页时,可根据该页所属的 ASID,用 Invlpga 而非 Invlpg 来做 TLB Flush, 目前的 KVM 还没有有效的利用 Invlpga。详细:http://www.51rhca.com/archives/593世界末日
词曲:周杰伦
演唱:周杰伦
时间标签制作:新娃QQ:287369614
X Music X
想笑 来伪装掉下的眼泪
点点头 承认自己会怕黑
我只求 能借一点的时间来陪
你却连同情都不给
想哭 来试探自己麻痹了没
全世界 好像只有我疲惫
无所谓 反正难过就敷衍走一回
但愿绝望和无奈远走高飞
天灰灰 会不会 让我忘了你是谁
夜越黑 梦违背 难追难回味
我的世界将被摧毁 也许事与愿违
累不累 睡不睡 单影无人相依偎
夜越黑 梦违背 有谁肯安慰
我的世界将被摧毁
也许颓废也是……
X Music X
想哭 来试探自己麻痹了没
全世界 好像只有我疲惫
无所谓 反正难过就敷衍走一回
但愿绝望和无奈远走高飞
天灰灰 会不会 让我忘了你是谁
夜越黑 梦违背 难追难回味
我的世界将被摧毁 也许事与愿违
累不累 睡不睡 单影无人相依偎
夜越黑 梦违背 难追难回味
我的世界将被摧毁
也许颓废也是另一种美
END
{:6_265:}我给大家分享点知识
页:
[1]