kobi n
2007-08-13 15:14:07 UTC
Hi,
my driver needs to allocate a large amount of buffers and map them to user
space.
previously this was done by allocating the buffers from the non-paged pool
and then locking them by MmBuildMdlForNonPagedPool.
today we want the buffers to be allocated from the Paged-pool. so after the
allocation from of each buffer from the paged-pool, i use mmProbeAndLock to
lock
the pages and then mmMapLockedPages. for some reason , after doing that
well for ~32000 buffers, the mmMapLocked pages starts to fail and i cant
figure out why.
i know that mmMapLockedPages should be replaced with
MmMapLockedPagesSpecifyCache but when i try it same result. 32000 buffers
succeded mapping and the rest just won't.
thanks,
kobi.
my driver needs to allocate a large amount of buffers and map them to user
space.
previously this was done by allocating the buffers from the non-paged pool
and then locking them by MmBuildMdlForNonPagedPool.
today we want the buffers to be allocated from the Paged-pool. so after the
allocation from of each buffer from the paged-pool, i use mmProbeAndLock to
lock
the pages and then mmMapLockedPages. for some reason , after doing that
well for ~32000 buffers, the mmMapLocked pages starts to fail and i cant
figure out why.
i know that mmMapLockedPages should be replaced with
MmMapLockedPagesSpecifyCache but when i try it same result. 32000 buffers
succeded mapping and the rest just won't.
thanks,
kobi.