A method, an apparatus, and a computer program product are presented for
memory page initialization operations. After an application thread
attempts to reference a memory page, an exception or fault may be
generated, and a physical memory page is allocated. The application
thread is put to sleep, and a page initialization request is given to a
kernel off-level worker thread, after which the interrupt-level
processing is concluded. During the normal course of execution for the
worker thread, the worker thread recognizes the page initialization
request, and the worker thread initializes the newly allocated page by
zeroing the page or by copying the contents of a source page to the newly
allocated page, as appropriate. The worker thread then puts the
application thread into a runnable state.