http://managedruntime.org/对于tarball中的确切内容以及用户为什么需要它们非常稀少。 http://lwn.net/Articles/392307/有更多细节,但作者也不确定内存管理模块实际上做了什么。显然,高级目标是减少GC暂停,但我会对(指针)模块的功能以及为什么/如何改进这些功能感兴趣。尤其令人敬畏的是指向这些补丁有多大影响的指针(评估)。
答案 0 :(得分:5)
Azul的Pauseless GC依赖于底层操作系统的内存管理系统。在Azul硬件上,这是由Azul的定制内核(Aztec)执行的。在Linux上,内存管理系统需要能够每秒支持足够数量的内存管理操作,以便跟上每秒创建的垃圾量。当Azul人将Azul JVM移植到Linux时,他们确定其内存管理API与Aztec相比相对较慢,只是因为Linux的MM API从未打算支持像PGC这样的东西。 MRT补丁改进了linux内核每秒可以处理的操作数,从而支持PGC。
类似的是将增加poll / select添加到Berkeley套接字,以及稍后在2001年,当epoll被添加到linux内核(http://www.xmailserver.org/linux-patches/nio-improve.html)时。
[免责声明:即使我是Azul的前任技术主管和现任技术顾问,我也不代表他们]