Using paged memory instead of non-paged memory

Hello,

In my minifilter driver, i am using non-paged memory for all owned data structures.But now i am planning to use paged memory instead of non-paged because i am sure that my minifilter accesses all memory at or below APC level.
My questions are,

  1. If i use paged memory, then will it create performance issue in my minifilter due to page faults?
  2. Using paged memory, i am making non-paged memory available to system as well as other drivers. So will it increase overall system performance?

Thanks in advance.

> 1. If i use paged memory, then will it create performance issue in my minifilter due to page faults?

I think MS just recommends paged memory. Reason: memory pressure on VMs.


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com

My advice is don’t use NonPaged memory unless it is really necessary.

On Fri, Jun 5, 2015 at 1:44 PM, Maxim S. Shatskih
wrote:

> > 1. If i use paged memory, then will it create performance issue in my
> minifilter due to page faults?
>
> I think MS just recommends paged memory. Reason: memory pressure on VMs.
>
> –
> Maxim S. Shatskih
> Microsoft MVP on File System And Storage
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>
> —
> NTFSD is sponsored by OSR
>
> OSR is hiring!! Info at http://www.osr.com/careers
>
> For our schedule of debugging and file system seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>


Bercea. G.

Make sure that you think about the future. Many post operation callbacks get called at IRQL DISPATCH_LEVEL.

If one day you need to extend your model and you find that one of your callbacks can get called at IRQL DISPATCH_LEVEL and that code touches your data structures, it means you need to change those your allocations to nonpaged pool. And it probably means you need to change your locks as well (spin locks) so that they meet the IRQL restrictions.

//Daniel

Hello,

In my minifilter driver, i am using non-paged memory for all owned data structures.But now i am planning to use paged memory instead of non-paged because i am sure that my minifilter accesses all memory at or below APC level.
My questions are,

  1. If i use paged memory, then will it create performance issue in my minifilter due to page faults?
  2. Using paged memory, i am making non-paged memory available to system as well as other drivers. So will it increase overall system performance?

Thanks in advance.

Thank you all for the reply.

@Daniel, If required in future i will definitely change allocations to nonpaged pool and locks as well.

For now i just wanted to understand that, are there any performance issues in minifilter due to page faults?