- Add information on new executive locks being worked on.
authorAlex Ionescu <aionescu@gmail.com>
Tue, 27 Dec 2005 03:06:35 +0000 (03:06 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Tue, 27 Dec 2005 03:06:35 +0000 (03:06 +0000)
svn path=/trunk/; revision=20365

reactos/media/doc/locks.txt [new file with mode: 0644]

diff --git a/reactos/media/doc/locks.txt b/reactos/media/doc/locks.txt
new file mode 100644 (file)
index 0000000..7af1d3a
--- /dev/null
@@ -0,0 +1,39 @@
+Next-Gen (NT 5.2) Executive Locks in NTOSKRNL.\r
+------------------------------\r
+1a. Rundown Protection\r
+USED IN: Thread/Process Ps* Code.\r
+EXAMPLES: NtSetInformationProcess/Thread, PspCreateThread/Process, PspSuspend/ResumeThread...\r
+REPLACES: Unlocked access and/or PsLock/UnlockProcess.\r
+ROS STATUS: Implemented. Code needs cleanup. Not yet tested. Not yet used.\r
+\r
+1b. Cache-Aware Rundown Protection\r
+USED IN: Unknown. Functions exported for drivers.\r
+EXAMPLES: None.\r
+REPLACES: Nothing.\r
+ROS STATUS: Unimplemented.\r
+\r
+2. Guarded Mutex\r
+USED IN: Configuration Manager, MCB Functions (FsRtl), Binary Hive Module (Hv), PnP (Notifications), LPC, Jobs (Ps), Device Map (Ob), and Memory Management (Address Space/Virtual Memory).\r
+EXAMPLES: Too many.\r
+REPLACES: Anything that used FAST_MUTEX.\r
+ROS STATUS: Implemented, slightly tested; appears to still contain a bug.\r
+\r
+3. Fast Referencing\r
+USED IN: Tokens.\r
+EXAMPLES: R: PsReferencePrimary/EffectiveToken. D: Failure code of anything that calls those two functions.\r
+REPLACES: Normal referencing.\r
+ROS STATUS: Hackplemented stubs.\r
+\r
+4a. Pushlocks\r
+USED IN: Configuration Manager (Cm), Handle Table (Ex), Binary Hive Module (Hv), Memory Management (Address Space/Virtual Memory), Object Namespace (Directories/Names) (Ob), Impersonation (Ps).\r
+EXAMPLES: Too many.\r
+REPLACES: Anything that used ERESOURCE.\r
+ROS STATUS: Implemented (missing Block/([Timed]Wait)Unblock) and slightly tested.\r
+\r
+4b. Cache-Aware Pushlocks\r
+USED IN: AWE (Mm).\r
+EXAMPLES: None.\r
+REPLACES: Executive Resources.\r
+ROS STATUS: Unimplemented.\r
+\r
+TODO: Kernel Locks (Queued and In-Stack Spinlocks)
\ No newline at end of file