TSC_scaling简介

当guest software读取TSC的值时, 加上TSC_offset.

VMM可以利用TSC offsetting feature, 提供给guest software错觉, 让它觉得自己运行在当前TSC之前或之后的时间.

利用TSC offset, guest software可以感知到某个TSC值与实际硬件的TSC有一个offset, 但该TSC值与实际硬件TSC的频率一样. 对于在虚拟机创建之前的时间统计需求,有TSC offsetting机制就够了.但是,如果VMM将虚拟机在不同的platform上迁移,且不同paltform上的TSC的频率还不一样,很显然TSC offsetting机制无法保证迁移前后的TSC稳定性和有效性.

通过TSC Scaling机制, VMM可以调整guest software感知到的TSC rate.

当TSC Scaling和TSC offseting 机制同时支持时,guest software读取的TSC值 = 硬件TSC值 * tsc_multiplier + tsc_offset.

如果同时拥有TSC Scaling和TSC offsetting两项feature, VMM将虚拟机在不同的platform上迁移,且不同platform上的TSC频率不一样,就可以在新platform上配置tsc_offset和tsc_scaling,让guest software觉得,根本没有发生过迁移,tsc依然以之前的频率前进,且没有发生回退等错误现象.


__EOF__

本文作者EwanHai
本文链接https://www.cnblogs.com/haiyonghao/p/14440181.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   EwanHai  阅读(607)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示