Author: ion
Date: Fri Jan 26 23:54:30 2007
New Revision: 25639
URL: http://svn.reactos.org/svn/reactos?rev=25639&view=rev
Log:
- Enable NT Scheduler.
- The good:
- Fixes hangs/freezes in trunk
- No matter how sluggish the system got, I was able to move the mouse and other apps were still responsive even though one app was hogging the CPU.
- Balancer thread activates and does its job of preventing deadlocks.
- The code was heavily tested and some of it is based off direct pseudo-code from NT's very own kernel (legally obtained from Windows Internals II slides) as well as Windows Internals 4th.
The bad:
- Explorer takes 30 seconds to load, after that all is fine though.
- First-stage installer asserts at 18% in Mm instead of lagging like previously.
- Various other Mm crashes related to the above ^^.
- Please help out to fix/figure out the Mm crashes! It would be much appreciated, otherwise, in a week, we will revert this patch as well as the patch that caused the hangs/freezes.
Modified:
trunk/reactos/include/ndk/asm.h
trunk/reactos/ntoskrnl/ke/balmgr.c
Modified: trunk/reactos/include/ndk/asm.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/asm.h?rev=2563…
==============================================================================
--- trunk/reactos/include/ndk/asm.h (original)
+++ trunk/reactos/include/ndk/asm.h Fri Jan 26 23:54:30 2007
@@ -20,7 +20,7 @@
#ifndef _ASM_H
#define _ASM_H
-//#define NEW_SCHEDULER
+#define NEW_SCHEDULER
//
// PCR Access
Modified: trunk/reactos/ntoskrnl/ke/balmgr.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/balmgr.c?rev=2…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/balmgr.c (original)
+++ trunk/reactos/ntoskrnl/ke/balmgr.c Fri Jan 26 23:54:30 2007
@@ -114,7 +114,9 @@
}
/* Release the locks and dispatcher */
+#ifndef NEW_SCHEDULER
OldSched:
+#endif
KiReleasePrcbLock(Prcb);
KiReleaseDispatcherLock(OldIrql);