Re: non-paged memory inside a kernel driver



If you look at Trend Micro's PC-cillan product, and run poolmon you'll
discover they suck up ~80MBs and never release it (on XP) that's enough to
hose my application.

With their stuff running I cannot allocate 10 MB 's on a XP system. I don't
crash, but then again I cannot perform my tasks.
--
Gak -
Finecats


"krish" wrote:

Hi Doron, There is just one instance of the driver and it will be
loaded during the windows startup. I have two devices one rotating
disk and one flash. In my driver I keep a table map which tells me
what data is in the flash and what is in the disk, using which I
direct the request to either flash or disk. The size of this table is
big, around 100MB. I do not want this table to ever page out to disk./
flash, so I need 100MB of non-paged memory inside my driver. Do you
have any suggestions?

On Mar 31, 2:22 pm, "Doron Holan [MSFT]" <dor...@xxxxxxxxxxxxxxxxxxxx>
wrote:
you will not get such a number. let's say 20 instance of such a driver was
loaded and the number was 10%. then at least half of them would not be able
to load. moreover, it depends on the state of system memory when you try to
allocate memory, the virtual address space has to have a big enough gap
(e.g. it is not fragmented) to fit your allocation.

what are you going to do with the memory once you have
allocated it?

d
--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.

"krish" <pradeep_bi...@xxxxxxxxx> wrote in message

news:551587ae-46e4-49bb-bb70-06900bca6125@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Hi Don, large is kind of relative term :-). Would you suggest any
number in terms of percentage of the available memory like 10%, 20%
etc which you think is safe enough? Or from your experience, what is
the largest amount that you have seen in a well performing kernel mode
driver? Thanks.

On Mar 31, 2:01 pm, "Don Burn" <b...@xxxxxxxxxxxxxxxxxxxx> wrote:
Pre-Vista it is 128MB, but even in Vista doing a large allocate is a
really
bad idea, since then the rest of the system will be starved, and likely
to
crash.

--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website:http://www.windrvr.com
Blog:http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

"krish" <pradeep_bi...@xxxxxxxxx> wrote in message

news:a4bc5006-05a9-4340-8e3c-b7a2ca72cf76@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Hi, what is the maximum size of non-paged memory that I can allocate
inside inside my kernel driver in XP and Vista? I took the diskperf
from WDK, modified it and on Vista, 32-bit, 2GB RAM, I tried
allocating 4/8/100/512 MB and I was able to do it successfully while
allocating 1GB and above failed. Is there any hard restriction on the
amount of non-paged memory I can allocate inside my driver?

Thanks in anticipation.


.



Relevant Pages

  • Re: non-paged memory inside a kernel driver
    ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ... With their stuff running I cannot allocate 10 MB 's on a XP system. ... so I need 100MB of non-paged memory inside my driver. ...
    (microsoft.public.development.device.drivers)
  • Re: Memory fragmentation issue in kernel mode
    ... Also, on the Performance tab, watch the Kernel Memory section. ... fragmentation, which is actually fragmentation of the system virtual ... A user level application doesn't allocate and even access the ... I have my driver that uses direct IO to perform data transfer ...
    (microsoft.public.development.device.drivers)
  • Re: non-paged memory inside a kernel driver
    ... I've seen kernel memory leaks up to full memory exaustion when Symantec AV ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ... With their stuff running I cannot allocate 10 MB 's on a XP system. ...
    (microsoft.public.development.device.drivers)
  • Re: Memory allocation in windows kernel driver
    ... in an allocated zone of memory. ... I have to allocate a space of about 255 kBytes. ... I would strongly recomend you take a class on driver development. ... It is possible to create a pointer to an array of pointers to memorize ...
    (microsoft.public.development.device.drivers)
  • Re: Assigning data structures to certain memory locations during porting
    ... > have a target machine with a scratch pad, a DRAM, and a Flash ... I would like to dynamically allocate a memory space for data ...
    (comp.arch.embedded)