Physical memory allocation in Vista

My driver allocates huge contiguous physical memory pool (hundreds MB). And
life was wonderful untill Vista come.

For example, on a PC with 2Gb RAM, the driver easily takes 800Mb (2000/XP),
but under the Vista it cannot allocate more than 200Mb.

I’m using (A) ‘MmAllocateContiguousMemorySpecifyCache’ function and (B)
‘AllocateCommonBuffer’ function and both ways bring same result.

What is wrong with Vista?

Since 15 minutes after booting the “Task Manager” shows me 12 MB (of 2 GB)
free physical memory!

Have any comments or ideas?
Anatoly

Statement: MmAllocateContiguousMemory is an internal feature that should not
be abused. It actually allocates more memory than there is available in the
non paged pool, but there was no guarantee that it would always be the case.

Hypothesis: Maybe this is what you are experiencing in Vista.

Question: Why do you need such huge blocks? If it’s for DMA have you
considered AllocateCommonBuffer?

Signature: Edouard A.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-280229-
xxxxx@lists.osr.com] On Behalf Of Anatoly Kh.
Sent: jeudi 8 mars 2007 22:21
To: Windows System Software Devs Interest List
Subject: [ntdev] Physical memory allocation in Vista

My driver allocates huge contiguous physical memory pool (hundreds MB).
And
life was wonderful untill Vista come.

For example, on a PC with 2Gb RAM, the driver easily takes 800Mb
(2000/XP),
but under the Vista it cannot allocate more than 200Mb.

I’m using (A) ‘MmAllocateContiguousMemorySpecifyCache’ function and (B)
‘AllocateCommonBuffer’ function and both ways bring same result.

What is wrong with Vista?

Since 15 minutes after booting the “Task Manager” shows me 12 MB (of 2
GB)
free physical memory!

Have any comments or ideas?
Anatoly


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer