我正在尝试为Xen实现“基于语义的内存共享模型”。作为我项目的一部分,我正在尝试跨VM共享内核代码页。我假设具有相似版本的linux内核的代码段是100%相同的。但是当我使用运行Debian Squeeze的虚拟机进行一些实验时,我发现内核代码段中有3个内存页面不同。
所以我的问题是,linux内核是否在运行时修改了代码页?
答案 0 :(得分:1)
是的,它可以 - 例如,如果内核在运行时看到它在单处理器系统上运行,则可以从代码中动态修补自旋锁。我不知道这种情况的详尽清单,您需要检查代码。
有关在内核中进行运行时修补的一个系统的更多信息,请参阅LWN article on SMP Alternatives。