why ISr should be in non paged pool...

Hi all,

why do isr should should be in paged pool…assuming, there’s no constraint on the isr’s time taken, can’t it be kept in paged pool…
what’s the reason…?
can somebody give more insight on this…

thanx,

Shiva P

THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE ADDRESSEE
and may contain confidential and privileged information. If the reader of this message
is not the intended recipient, you are notified that any dissemination, distribution
or copy of this communication is strictly Prohibited.If you have received this message
by error, please notify the sender immediately, return the original mail to the sender
and delete the message from your system.

ISRs are entered at interrupt service level, by definition. This is way above the dispatcher’s scheduling level.

If the code isn’t there when the interrupt vector causes the machine to call the interrupt handling code, the machine is dead.

*ALL* ISRs are time critical, because they run at a very high priority and will block many other interrupt service routines, such as for the disk. As well as blocking all normal user programs while the ISR is running. So there is no such thing as “no constraint on the isr’s time taken.” All ISRs have to be as fast as possible, and any long processing code needs to be delayed until a DPC can be run, or other method of palming off the slow code on a lower-priority thread of execution.

Loren

why do isr should should be in paged pool…assuming, there’s no constraint on the isr’s time taken, can’t it be kept in paged pool…
what’s the reason…?
can somebody give more insight on this…

Because the page fault path contains the code which cannot be executed in the ISR. For instance, in contains KeWaitForSingleObject.

Max

----- Original Message -----
From: Shiva Prasad T. S.
To: NT Developers Interest List
Sent: Friday, July 04, 2003 1:08 PM
Subject: [ntdev] why ISr should be in non paged pool…

Hi all,

why do isr should should be in paged pool…assuming, there’s no constraint on the isr’s time taken, can’t it be kept in paged pool…
what’s the reason…?
can somebody give more insight on this…

thanx,

Shiva P


You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE ADDRESSEE
and may contain confidential and privileged information. If the reader of this message
is not the intended recipient, you are notified that any dissemination, distribution
or copy of this communication is strictly Prohibited.If you have received this message
by error, please notify the sender immediately, return the original mail to the sender
and delete the message from your system.

“Shiva Prasad T. S.” wrote in message
news:xxxxx@ntdev…
>
> why do isr should should be in paged pool…assuming, there’s no
constraint on the isr’s time taken, can’t
> it be kept in paged pool…
>

Oh, another of my hot-buttons: It’s not in ANY pool. It’s in “non-paged
memory” which is NOT the same as NON-PAGED POOL.

The pools, paged and non-paged, comprise a specific part of the kernel
virtual address space (hmmm… hence that “page fault in non-paged pool”
message). Memory in the pools is allocated and released by the pool code in
the executive layer. Pool is tracked, allocated, and used in certain very
specific ways. Containing the ISR is not one of the things for which pool
is used.

The point here isn’t to be merely pedantic, but given that a few thousand
people subscribe to this list and several thousands more search and read the
archives, let us all strive and endeavor to leave people with the correct
technical impression of what’s going on.

main memory != pool

Peter
OSR

Nice reply Peter, good information. But … methinks thou doest deal with
speak-Yoda.


Gary G. Little
Seagate Technologies, LLC
xxxxx@seagate.com

“Peter Viscarola” wrote in message news:xxxxx@ntdev…
>
>
> “Shiva Prasad T. S.” wrote in message
> news:xxxxx@ntdev…
> >
> > why do isr should should be in paged pool…assuming, there’s no
> constraint on the isr’s time taken, can’t
> > it be kept in paged pool…
> >
>
> Oh, another of my hot-buttons: It’s not in ANY pool. It’s in “non-paged
> memory” which is NOT the same as NON-PAGED POOL.
>
> The pools, paged and non-paged, comprise a specific part of the kernel
> virtual address space (hmmm… hence that “page fault in non-paged pool”
> message). Memory in the pools is allocated and released by the pool code
in
> the executive layer. Pool is tracked, allocated, and used in certain very
> specific ways. Containing the ISR is not one of the things for which pool
> is used.
>
> The point here isn’t to be merely pedantic, but given that a few thousand
> people subscribe to this list and several thousands more search and read
the
> archives, let us all strive and endeavor to leave people with the correct
> technical impression of what’s going on.
>
> main memory != pool
>
> Peter
> OSR
>
>
>
>