[ros-dev] [ros-diffs] [ros-arm-bringup] 39925: - Implement a new Hyperspace Mapping Interface: - The new interface is portable and much faster than before. For example, unmapping a hyperpage is almost a one-line operation. - The new interface is also thread-safe and uses the EPROCESS hyperspace spinlock. - However, in order to isolate from React Mm internals, the Hyper IRQL and Process are stored as globals, so this will not work on SMP. - For now, mapping vs. zero PTEs are not treated differently, but the two interfaces have been separated pending future work. - Performance tests with _rdtsc resulted in an improvement of over 300% compared to the old interface. - Hyperspace mappings are frequent, so the improvement is noticeable during startup (3/10ths of a second). - This also fixes incorrect initializtion of hyperspace -- pages were zeroed out (which requires hyperspace) before hyperspace was created.

Aleksey Bragin aleksey at reactos.org
Tue Mar 10 10:53:56 CET 2009


Boot is broken for me in VMWare, with an assert being hit in  
hypermap.c:178.


WBR,
Aleksey Bragin.

On Mar 10, 2009, at 3:31 AM, ros-arm-bringup at svn.reactos.org wrote:

> Author: ros-arm-bringup
> Date: Tue Mar 10 03:31:14 2009
> New Revision: 39925
>
> URL: http://svn.reactos.org/svn/reactos?rev=39925&view=rev
> Log:
> - Implement a new Hyperspace Mapping Interface:
>     - The new interface is portable and much faster than before.  
> For example, unmapping a hyperpage is almost a one-line operation.
>     - The new interface is also thread-safe and uses the EPROCESS  
> hyperspace spinlock.
>     - However, in order to isolate from React Mm internals, the  
> Hyper IRQL and Process are stored as globals, so this will not work  
> on SMP.
>     - For now, mapping vs. zero PTEs are not treated differently,  
> but the two interfaces have been separated pending future work.
>     - Performance tests with _rdtsc resulted in an improvement of  
> over 300% compared to the old interface.
>     - Hyperspace mappings are frequent, so the improvement is  
> noticeable during startup (3/10ths of a second).
>     - This also fixes incorrect initializtion of hyperspace --  
> pages were zeroed out (which requires hyperspace) before hyperspace  
> was created.



More information about the Ros-dev mailing list