Thank you for the shared memory advices. It’s working now, but I want to
avoid that the system swaps out my shared memory
area. ZwCreateSection() and ZwMapViewOfSection() allocates NonPeged pool
which can be swapped, but if I call IoAllocateMdl() and
MmProbeAndLockPages() can I prevent my data being swapped ? Or what is
exactly the difference between locked and nonpaged memory ?
Thanks in advance.
You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> which can be swapped, but if I call IoAllocateMdl() and
MmProbeAndLockPages() can I prevent my data being swapped ?
Yes, MmProbeAndLockPages prevents the data from being swapped.
Max
You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
Hi Illes,
-
NonPaged pool cannot be “paged” or swapped out. (I guess that was a
typo in your mail).
-
The difference between locked pages and nonpaged memory is that
nonpaged memory is a global non-pageable pool in the system address
space, while pinning (or locking) pages disallows pageable memory from
being paged (or swapped out) even during context switches.
-
If those locked pages are in the user-mode context, the macro
MmGetSystemAddressForMdlSafe, will allow you to access that memory from
kernel mode in an arbitrary thread context.
I hope this makes things clearer.
Youssef
-----Original Message-----
From: Illes Attila [mailto:xxxxx@ktk.bme.hu]
Sent: Monday, July 23, 2001 1:18 AM
To: File Systems Developers
Subject: [ntfsd] locked == NonPaged ?
Thank you for the shared memory advices. It’s working now, but I want to
avoid that the system swaps out my shared memory
area. ZwCreateSection() and ZwMapViewOfSection() allocates NonPeged pool
which can be swapped, but if I call IoAllocateMdl() and
MmProbeAndLockPages() can I prevent my data being swapped ? Or what is
exactly the difference between locked and nonpaged memory ?
Thanks in advance.
You are currently subscribed to ntfsd as: xxxxx@microsoft.com
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com