7.虚拟化杂项-13.虚拟化的时钟管理-《计算机知识》

admin 2025-11-02 22:27:31 系统网络 来源:ZONE.CI 全球网 0 阅读模式
  • 相关参考
  • 提出问题:
  • 关于时钟的配置(应用)
    • qemu-kvm参数
    • Libvirt中时间配置
      • clock参数的配置
      • timer参数的配置
  • 虚拟机的时钟(原理)
    • 内核关于kvm 的墙上时间的描述
  • qmu中源码分析(代码)

    相关参考

    • 为什么guest虚拟机需要精确的时钟
    • libvirt-formatdomain配置 的 Time keeping 章节
    • 内核的virt-timekeeping

    提出问题:

    在使用vfio-mdev进行数据传输的时候, 有个问题:Guest 通过vfio-pci下发数据时,一次iowrite32的时间 是多久,Host才可以收到?Host通过eventfd给Guest发送中断时,需要多久Guest才可以收到中断?也就是 vfio-mdev的通信性能如何评估

    我尝试在 Guest给Host发送消息时,Guest获取ktime,然后在Host获取Ktime,进行比较时,发现 Guest有时候时间竟然比Host快???那么问题是: Guest的时钟来自于哪里?Guest的RTC来自哪里?Guest的定时器来自哪里?Guest时间精度是多少?

    本文:假设已经了解了 Linux时钟的机制,这里主要学习Guest时钟的机制。

    关于时钟的配置(应用)

    qemu-kvm参数

    1. (base) baiy@inno-MS-7B89:drivers$ qemu-system-x86_64 -h
    2. -realtime [mlock=on|off]
    3. run qemu with realtime features
    4. mlock=on|off controls mlock support (default: on)
    5. -rtc [base=utc|localtime|<datetime>][,clock=host|rt|vm][,driftfix=none|slew]
    6. set the RTC base and clock, enable drift fix for clock ticks (x86 only)
    1. -realttime配置
    2. mlock=on | off 影响了什么?
    3. -rtc 的配置
    4. base配置:
    5. utc:
    6. localtime:
    7. datetime:
    8. clock配置:
    9. host
    10. rt
    11. vm
    12. driftfix配置:

    Libvirt中时间配置

    官方配置:libvirt-formatdomain配置 的 Time keeping 章节

    1. ......
    2. <clock offset='utc'>
    3. <timer name='rtc' tickpolicy='catchup'/>
    4. <timer name='pit' tickpolicy='delay'/>
    5. <timer name='hpet' present='no'/>
    6. </clock>

    clock参数的配置

    1. clock 的offset配置值:
    2. utc:
    3. localtime:
    4. timezone:
    5. variable:

    timer参数的配置

    虚拟机的时钟(原理)

    内核关于kvm 的墙上时间的描述

    参考: virt-timekeeping

    qmu中源码分析(代码)

    01-shell脚本介绍-《shell脚本》 系统网络

    01-shell脚本介绍-《shell脚本》

    一、shell脚本是什么二、为什么要学shell,而不是其他计算机语言三、学习这门课程的优势四、学了能干什么五、学习什么内容六、学习的技巧七、成长路径八、学习环
    评论:0   参与:  13