Truly epic. I can't believe the concept of "PageOps" is gone now.

WBR,
Aleksey Bragin.

On 28.04.2012 22:10, Alex Ionescu wrote:
Patch of the Year.

Best regards,
Alex Ionescu


On Sat, Apr 28, 2012 at 10:56 AM, <arty@svn.reactos.org> wrote:
Author: arty
Date: Sat Apr 28 02:56:31 2012
New Revision: 56441

URL: http://svn.reactos.org/svn/reactos?rev=56441&view=rev
Log:
[NTOSKRNL]
Remove PAGEOPs and use the argument to pass relevant information where needed,
including generally a section page table entry or a PFN_NUMBER.

In its place, the code looks for an MM_WAIT_ENTRY in the appropriate place and
waits, returning STATUS_MM_RESTART_OPERATION.  Rather than copying the pagein
and CoW operations in the PAGEOP contention case, we just punt back and restart
the operation, resulting in simpler code.

Modified:
   trunk/reactos/ntoskrnl/CMakeLists.txt
   trunk/reactos/ntoskrnl/cache/section/sptab.c
   trunk/reactos/ntoskrnl/include/internal/mm.h
   trunk/reactos/ntoskrnl/mm/mminit.c
   trunk/reactos/ntoskrnl/mm/rmap.c
   trunk/reactos/ntoskrnl/mm/section.c