kvm 补丁审查清单

  1. 补丁必须遵循 Linux 内核编码风格提交补丁:将代码放入内核的必要指南

  2. 补丁应该基于 kvm.git master 分支。

  3. 如果补丁引入或修改了新的用户空间 API:- API 必须在 权威的 KVM(基于内核的虚拟机)API 文档 中进行记录 - API 必须可以使用 KVM_CHECK_EXTENSION 发现

  4. 新状态必须包含保存/恢复的支持。

  5. 新功能必须默认关闭(用户空间应明确请求它们)。性能改进可以并且应该默认开启。

  6. 新的 cpu 功能应该通过 KVM_GET_SUPPORTED_CPUID2 公开

  7. 模拟器更改应附带 qemu-kvm.git kvm/test 目录的单元测试。

  8. 更改应尽可能保持供应商中立。对通用代码的更改比复制对供应商代码的更改更好。

  9. 类似地,优先更改与架构无关的代码,而不是与架构相关的代码。

  10. 用户/内核接口和客户机/主机接口必须是 64 位干净的(所有变量和大小自然地在 64 位上对齐;仅使用特定类型 - u64 而不是 ulong)。

  11. 新的客户机可见功能必须在硬件手册中记录,或附带文档。

  12. 功能必须能够可靠地应对重置和 kexec - 例如,必须取消共享主机/客户机共享内存,以防止主机写入客户机未为此目的保留的客户机内存。