I find myself page faulting a lot in some instances.
However, I don’t know where this is. I’ve tried various
tools, such as random breakpoint sampling, but haven’t
found a good way of finding out where this is happening.
(It’s a performance problem, not a correctness problem)
VTune doesn’t seem to have a “page fault” counter event
– if it did, that’s exactly what I’d like to use. Does
anyone have any good ideas about how I can gather this
kind of data? (We did all the obvious things like coalesce
list nodes into allocation blocks, find and remove most
leaks, etc, already)
Cheers,
/ h+
–
I am speaking only in the capacity of myself and am
not representing any company or organization.
Jon Watte - http://www.there.com/
I don’t know any tools that tell you where you are page faulting,
but since you are writing a driver, I assume, you should know
what memory you are touching is pagable. Wherever you allocate
pagable memory or access it you have the ability for page faults.
Perhaps you could pre-allocate a small amount of memory from NPP
as a lookaside list, and only allocate from PP when you run out of
lookaside. That should significantly cut down on your pagefaults
if you choose the correct lookaside list size.
-Jeff
-----Original Message-----
From: WinDbg [mailto:xxxxx@mindcontrol.org]
Sent: Wednesday, March 19, 2003 6:51 PM
To: Kernel Debugging Interest List
Subject: [windbg] Where am I page faulting?
I find myself page faulting a lot in some instances.
However, I don’t know where this is. I’ve tried various
tools, such as random breakpoint sampling, but haven’t
found a good way of finding out where this is happening.
(It’s a performance problem, not a correctness problem)
VTune doesn’t seem to have a “page fault” counter event
– if it did, that’s exactly what I’d like to use. Does
anyone have any good ideas about how I can gather this
kind of data? (We did all the obvious things like coalesce
list nodes into allocation blocks, find and remove most
leaks, etc, already)
Cheers,
/ h+
–
I am speaking only in the capacity of myself and am
not representing any company or organization.
Jon Watte - http://www.there.com/
You are currently subscribed to windbg as: xxxxx@concord.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
This footnote also confirms that this email message has been swept by
the latest virus scan software available for the presence of computer
viruses.
**********************************************************************
> I don’t know any tools that tell you where you are page faulting,
but since you are writing a driver, I assume, you should know
what memory you are touching is pagable. Wherever you allocate
pagable memory or access it you have the ability for page faults.
Sorry, no, this is an app. I used to write drivers, and
at that point, I had very fine control over what was pageable
and not, and knew every byte of the contents 
Cheers,
/ h+
It’s been a while since I’ve used it, but pfmon.exe, the page fault monitor,
found in the resource kit, probably does what you need. The -d option gives
detail on each pagefault. Have a look at
http://www-rtsl.cs.uiuc.edu/tools/perfTools.html#Page%20Fault%20Monitor for
an example of the output. Of course, you should set up symbols on the
system under test - best to use the symbol server.
Tom Stonecypher
xxxxx@iStreamConsulting.com
www.iStreamConsulting.com
+1-803-463-6340
“WinDbg” wrote in message
news:xxxxx@windbg…
>
>
> > I don’t know any tools that tell you where you are page faulting,
> > but since you are writing a driver, I assume, you should know
> > what memory you are touching is pagable. Wherever you allocate
> > pagable memory or access it you have the ability for page faults.
>
> Sorry, no, this is an app. I used to write drivers, and
> at that point, I had very fine control over what was pageable
> and not, and knew every byte of the contents 
>
> Cheers,
>
> / h+
>
>
>
>
Thanks for the reference! This is a step in the right direction.
Cheers,
/ h+
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Tom Stonecypher
Sent: Thursday, March 20, 2003 6:59 AM
To: Kernel Debugging Interest List
Subject: [windbg] Re: Where am I page faulting?
It’s been a while since I’ve used it, but pfmon.exe, the page
fault monitor,
found in the resource kit, probably does what you need. The -d
option gives
detail on each pagefault. Have a look at
http://www-rtsl.cs.uiuc.edu/tools/perfTools.html#Page%20Fault%20Mo
nitor for
an example of the output. Of course, you should set up symbols on the
system under test - best to use the symbol server.
Tom Stonecypher
xxxxx@iStreamConsulting.com
www.iStreamConsulting.com
+1-803-463-6340
“WinDbg” wrote in message
news:xxxxx@windbg…
>
>
> > I don’t know any tools that tell you where you are page faulting,
> > but since you are writing a driver, I assume, you should know
> > what memory you are touching is pagable. Wherever you allocate
> > pagable memory or access it you have the ability for page faults.
>
> Sorry, no, this is an app. I used to write drivers, and
> at that point, I had very fine control over what was pageable
> and not, and knew every byte of the contents 
>
> Cheers,
>
> / h+
>
>
>
>
—
You are currently subscribed to windbg as: xxxxx@mindcontrol.org
To unsubscribe send a blank email to xxxxx@lists.osr.com