在一台双核、双CPU、超线程的服务器上,MmMapLockedPagesSpecifyCache会抛出异常,OS为2003 server。本想映射16MB字节,发生异常后以为是16MB太大,却发现只映射2M字节也会异常;再小就没试了。在装XP的台式机上,一切都OK。有过这个经验的...
全文
回复(6) 2007-12-16 16:31 来自版块 - 内核编程
表情
yunyanrong同命人呀。 我也发现了这个现象。应该是NonCache导致的,因为这些数据不会进入CPU的1、2级缓存,自然它的访问就会变慢。 我现在在试图解决双核、四核台式机、服务器之下的一个同步问题。 以前参数为MMCache,同步有问题,数据有错。 以为改成MMNonCache就可以解...(2009-01-08 16:51)
vitiluck顶! 同时请教 楼主一个问题. 使用第三方驱动,我看了一下代码,内容也是 1) MmAllocateContiguousMemorySpecifyCache 2) MmMapLockedPages 提供给APP使用。 但是我发现: 这类内存写入 CPU利用率 要比 常规内存...(2008-10-17 17:18)
chelalv楼主,谢谢你,我也是这个问题(2008-10-01 21:23)
yunyanrong我的问题找到了 以前测试都是XP上测的,一直OK。 所谓的双核、双CPU不行,其实还是因为装的是win2003。 MmMapLockedPagesSpecifyCache的有个一个参数,MMCache,MMNonCache,要调整好,必须和这片内存申请时的模式一致。(2008-02-29 10:39)
yunyanrong继续探索(2008-02-20 22:33)
yunyanrong顶!(2008-01-11 08:46)

返回顶部