Re: page fault

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Great Igor!


My question is answered.

Here is some information I found from MSDN which describes soft page fault
when re-loading page from standby list.

http://support.microsoft.com/kb/108449/en-us

--------------------
Process pages that are paged out of your process space are moved into the
"standby list," where they remain until sufficient free RAM is available, or
until system memory is low and they need to be reused. If these pages are
accessed by your process while they are still on the standby list and more
RAM has become available, they will be "soft-faulted" back into the working
set. This does not require any disk access, so it is very quick. Therefore,
even though you have an upper limit to the size of your working set, you can
still have quite a few process pages in memory that can be pulled back into
your working set very quickly.
--------------------


regards,
George

"Igor Tandetnik" wrote:

"George" <George@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:F975E3F1-F47E-4F1F-AE66-4D5A3D7D9483@xxxxxxxxxxxxx
I can understand hard page fault is we need to load from page file
into working set (RAM). But what is a soft page fault? I am confused.

I found this in my copy of January 2006 MSDN. This article doesn't seem
to be in MSDN Online. See if this helps.

<quote>
page fault

In the processor, a page fault occurs when a process refers to a virtual
memory page that is not in its working set in main memory.

A hard page fault occurs when data that a program needs is not found in
its working set (the physical memory visible to the program) or
elsewhere in physical memory, and must be retrieved from disk.

A page fault will not cause the page to be fetched from disk if that
page is on the standby list, and hence already in main memory, or if it
is in use by another process with which the page is shared. In this
case, a soft page fault occurs.
</quote>

For example, if you load a DLL that is already loaded and in use by
another process, the DLL's code doesn't need to be retrieved from disk
as it's already in memory. Physical memory pages holding the code just
need to be mapped into your process' address space. That's what soft
page fault does.
--
With best wishes,
Igor Tandetnik

With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925



.



Relevant Pages

  • Panic: Kernel page fault with ath0_com_lock held, r211295
    ... Kernel page fault with the following non-sleepable locks held: ... Physical memory: 2031 MB ... Loaded symbols for /boot/kernel/tmpfs.ko ... data packets ...
    (freebsd-current)
  • Re: Binary data in multiple adjacent files
    ... Mapping it doesn't eat any working set except, possibly, for the ... It's not faulted into physical memory. ... You also get a whole "page fault cluster" faulted in. ... grid sections immediately north, south, northeast, northwest, southeast ...
    (comp.os.vms)
  • Re: [SUSPECTED SPAM] Re: [linux-pm] Proposal for a new algorithm for reading & writing a hib
    ... fault allowed to proceed. ... page faulting code touches memory, ... will know to do just one thing, write the memory to disk. ... Linux loads the suspend module to memory (if it is inside kernel ...
    (Linux-Kernel)
  • Re: Applications "buying" resources
    ... L4's approach for virtual memory is similar to yours: ... While the OS can field the fault, ... resources are disposable into the same entity which manages the ... you also need a way of letting the kernel ...
    (comp.arch.embedded)
  • Re: Anyone using Foxconn motherboards
    ... The vast majority of the faults I've seen with generic memory were cell faults - ie. one or two memory locations repeatedly produced the wrong bit in certain tests. ... I've *never* had a cell fault on a memory stick with chips marked from a major manufacturer. ... Hardware DIMM checkers need more time to check a stick. ...
    (uk.comp.homebuilt)